原创

java网络TCP,UDP,IO,通信系统模型


网络编程

TCP (三次握手)  io流传输大量数据 效率低
UDP 64K数据 不需要连接 
Socket  传输信息  客户与服务端都有
InetAddress 类获取ip 等信息
io流 传输数据
传送之后必须 //结束标志流   否则一直等待
socket.shutdownOutput();
socket.shutdownInput();

使用字符流时可以使用newline() 接受必须readline()

1

demo1 客户端和服务端连接 传输数据

1

-----------------------------

1

demo2 网咯上传文件

使用 buffer Out/InputStream 包装节点流
思路:客户端 读取本地图片,通过socket流传到服务器接受流,服务器接受流,保存到本地 
注意 socket.shutdown 结束标志 输出流.flush

1

客户端

1

服务端

1

netstat 网络监听

1

UDP

发送端 - 接收端
DatagramPacket对象

1

基本流程

1

udp demo1

DatagramSocket 创建socket 
DatagramPacket 传送数据对象
socket.receive 接受数据
socket.send 发送数据

接受端:

1

发送端:

1

demo tcp 文件下载 客户端-服务器

本地读文件 socket通信流 传递

客户端:

1

服务端:

1

总结

TCP io配合传输
UDP 对象传输

1

通信系统(多线程 io 网络 面向对象)

currentHashMap 集合管理 多线程对应的socket
客户端A socket-服务器socket-客户端B socket 
服务端 根据 不同的消息类型 做出响应(对不同的socket进行操作)

1

总结
经验
  • 作者:阿杰(联系作者)
  • 发表时间:2023-06-12T22:29:56
  • 版权声明:杰出版
  • 公众号:--无
  • 评论