随笔 - 16  文章 - 0  评论 - 0  阅读 - 1023

(八)Java网络编程

Java网络编程

1、tcp和udp的区别

TCP,Transmission Control Protocol 的缩写,即传输控制协议。

1)面向连接,即必须在双方建立可靠连接之后,才会收发数据

2)信息包头 20 个字节

3)建立可靠连接需要经过3次握手

4)断开连接需要经过4次挥手

5)需要维护连接状态

6)报文头里面的确认序号、累计确认及超时重传机制能保证不丢包、不重复、按序到达

7)拥有流量控制及拥塞控制的机制

 

UDP,User Data Protocol 的缩写,即用户数据报协议。

1)不建立可靠连接,无需维护连接状态

2)信息包头 8 个字节

3)接收端,UDP 把消息段放在队列中,应用程序从队列读消息

4)不受拥挤控制算法的调节

5)传送数据的速度受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制

6)面向数据报,不保证接收端一定能收到

2、OSI的七层模型

1)物理层

2)数据链路层

3)网络层

4)传输层

5)会话层

6)表达层

7)应用层

3、Java中的Socket

1)Socket也称作套接字,用于描述IP地址和端口,是一个通信链的句柄,是应用层与传输层之间的桥梁

2)应用程序可以通过Socket向网络发出请求或应答网络请求

3)网络应用程序位于应用层,TCP和UDP属于传输层协议,在应用层和传输层之间,使用Socket来进行连接

4)Socket是传输层供给应用层的编程接口

5)Socket编程可以开发客户端和服务器应用程序,可以在本地网络上进行通信,也可通过公网Internet在通信

4、基于TCP的Socket编程的主要步骤

服务端:

1)指定本地的端口创建 ServerSocket 实例, 用来监听指定端口的连接请求

2)通过 accept() 方法返回的 Socket 实例,建立了一个和客户端的新连接

3)通过 Sockect 实例获取 InputStream 和 OutputStream 读写数据

4)数据传输结束,调用 socket 实例的 close() 方法关闭连接

客户端:

1)指定的远程服务器 IP 地址和端口创建 Socket 实例

2)通过 Socket 实例获取 InputStream 和 OutputStream 来进行数据的读写

3)数据传输结束,调用 socket 实例的 close() 方法关闭连接

5、基于UDP的Socket编程的主要步骤

服务端:

1)指定本地端口创建 DatagramSocket 实例

2)通过字节数组,创建 DatagramPacket 实例,调用 DatagramSocket 实例的 receive() 方法,用 DatagramPacket 实例来接收数据

3)设置 DatagramPacket 实例返回的数据,调用 DatagramSocket 实例的 send() 方法来发送数据

4)数据传输完成,调用 DatagramSocket 实例的 close() 方法

客户端:

1)创建 DatagramSocket 实例

2)通过 IP 地址端口和数据创建 DatagramSocket 实例,调用 DatagramSocket 实例 send() 方法发送数据包

3)通过字节数组创建 DatagramSocket 实例,调用 DatagramSocket 实例 receive() 方法接受数据包

4)数据传输完成,调用 DatagramSocket 实例的 close() 方法

posted on   ”懒羊羊“学Java  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示