socket经典案例-发送数据
2023-09-11 14:22:24 时间
一:客户端向服务端发送数据。
服务端:
package com.company.s; import java.io.*; import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String[] args) throws IOException{ char[] charArray=new char[3]; ServerSocket serverSocket=new ServerSocket(8088); System.out.println("accept begin="+System.currentTimeMillis()); Socket socket=serverSocket.accept(); System.out.println("accept end="+System.currentTimeMillis()); InputStream inputStream=socket.getInputStream(); InputStreamReader inputStreamReader=new InputStreamReader(inputStream); System.out.println("read begin "+System.currentTimeMillis()); int readLength=inputStreamReader.read(charArray);//阻塞 while (readLength!=-1){ String newString=new String(charArray,0,readLength); System.out.println(newString); readLength=inputStreamReader.read(charArray); } System.out.println("read end "+System.currentTimeMillis()); inputStream.close(); socket.close(); serverSocket.close(); } }
2.客户端代码:
package com.company.s; import java.io.OutputStream; import java.net.Socket; public class Client { public static void main(String[] args) throws Exception{ System.out.println("socket begin "+System.currentTimeMillis()); Socket socket=new Socket("localhost",8088); System.out.println("socket end "+System.currentTimeMillis()); Thread.sleep(3000); OutputStream outputStream=socket.getOutputStream(); outputStream.write("我是中国人".getBytes()); outputStream.close(); socket.close(); } }
二:服务端向客户端发送数据
1.server.java
package com.company.s; import java.io.*; import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String[] args) throws IOException{ ServerSocket serverSocket=new ServerSocket(8088); System.out.println("accept begin="+System.currentTimeMillis()); Socket socket=serverSocket.accept(); System.out.println("accept end="+System.currentTimeMillis()); OutputStream outputStream=socket.getOutputStream(); outputStream.write("我是思思博士".getBytes()); outputStream.close(); socket.close(); serverSocket.close(); } }
2.客户端代码:
package com.company.s; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.Socket; public class Client { public static void main(String[] args) throws Exception{ System.out.println("socket begin "+System.currentTimeMillis()); Socket socket=new Socket("localhost",8088); System.out.println("socket end "+System.currentTimeMillis()); char[] charBuffer=new char[3]; InputStream inputStream=socket.getInputStream(); InputStreamReader inputStreamReader=new InputStreamReader(inputStream); System.out.println("serverB begin "+System.currentTimeMillis()); int readLength=inputStreamReader.read(charBuffer); System.out.println("serverB end "+System.currentTimeMillis()); while (readLength!=-1){ System.out.println(new String(charBuffer,0,readLength)); readLength=inputStreamReader.read(charBuffer); } System.out.println(); inputStream.close(); socket.close(); System.out.println("client 运行结束="+System.currentTimeMillis()); } }
相关文章
- 华为USG6000V防火墙简单配置案例
- 左中右布局经典案例
- 决策树算法案例:泰坦尼克号乘客生存预测
- 线性回归之案例:波士顿房价预测
- 【FPGA教程案例12】基于vivado核的复数乘法器设计与实现
- 【FPGA教程案例11】基于vivado核的除法器设计与实现
- 【FPGA教程案例7】基于verilog的计数器设计与实现
- 数仓工具—Hive实战之full join 经典案例(13)
- Flink教程(17)- Flink Table与SQL(案例与SQL算子)
- 【力荐】Exadata火线救援:10TB级数据修复经典案例详解!
- 数据挖掘技术与经典案例分析
- 图解css3:核心技术与案例实战. 1.2 浏览器对CSS3的支持状况
- c语言中的指针,数组和结构体结合的一个经典案例
- 《不只是美:信息图表设计原理与经典案例》—— 2.1 防御信息图表
- 《MapReduce 2.0源码分析与编程实战》一1.2 HBase使用场景和成功案例
- 《R语言与数据挖掘最佳实践和经典案例》—— 1.1 数据挖掘
- 《R语言与数据挖掘最佳实践和经典案例》—— 1.3 数据集
- 《R语言与数据挖掘最佳实践和经典案例》—— 第2章 数据的导入与导出
- 想成为顶级开发者吗?亲自动手实现经典案例
- 软考高级之信息系统案例分析七重奏-《4》
- FSM有限状态机 经典案例 -- 消除空格 -- C#代码实现
- JavaScript经典案例之按下拖拽、跟随鼠标移动
- 三个案例透析大数据思维的核心
- Sqoop 经典案例入门