传输层协议有两个非常重要的协议:
●
传输控制协议TCP(Transmission Control Protocol)
●
用户数据报协议UDP(User Datagram Protocol
TCP
在使用TCP协议之前,您必须首先建立一个TCP连接以形成数据通道
•
传输前,采用“
三次握手
”方式,是可靠的
•
TCP协议通信的两个应用程序过程:客户端和服务端
•
大量数据可以在连接中传输
•
当传输完成时,您需要释放已建立的连接,低效率
•
在断开时要进行
“四次挥手”
三次握手:
四次挥手:
如果你不明白,你该怎么办? 只要看看三振四波
UDP
•
无需创建连接的包数据、源和目标
•
每个数据报告的大小仅限于
64K
内
•
这是不可靠的,因为没有连接
•
不需要在发送数据时释放资源,快速
TCP编程
利用套接字(Socket)开发网络应用程序早已被广泛的采用,以至于成为事实上的标准。
●
通信的两端必须有一个插座,这是两台机器之间的通信的终点
●
网络通信实际上是接口之间的通信.
●
插座允许程序作为流连接网络,并且数据通过IO在两个插座之间传输。

*-*-*客户端索克的工作流程包括以下四个基本步骤:
●
创建插座:
基于指定服务端的IP地址或端口号构建索克类对象。 如果服务
服务器响应建立客户端到服务器的通信线。 如果连接失败,则会发生例外。
●
打开与插座连接的输入/输出:
getInputStream()方法获取输入流,
使用getOutputStream()方法获取输出流来传输数据
●
根据某些协议在索克上执行读写操作:
通过输入流读取将服务器置于行中
信息(但不能读入线内的信息)通过输出流被写入线程中。
●
关闭插座:
将客户端从服务器中切断并释放线
代码案例,孩子们可以看到如何使用一些方法,如何在红色字体上方看IP地址的指示哦
*-*-*客户端程序可以使用索克类创建对象,
在创建时自动发送到服务器
起连接
.插座的施工方法是:
●
Socket(String host,int port)throws
未知 HostException, IOException: 向服务器(域名为 host.Port ):
(port)启动TCP连接,如果成功,创建一个 Socket对象,否则会抛出例外。
●
Socket(InetAddress地址,int port)throws IOException:基于
由InetAddress对象指定的IP地址和端口端口启动连接。
*-*-*服务器程序的工作过程包括以下四个基本步骤:
●
调用 ServerSocket(int port) :创建一个服务器端套接字,并绑定到指定端
倾听客户的要求。
●
呼叫接受:听连接请求,如果客户端请求连接,接受连接,并返回通信
套接字对象。
●
调用索克类对象 getOutputStream() 和 getInputStream(): get
输出和输入流开始发送和接收网络数据。
●
关闭ServerSocket和Socket对象:客户端访问结束,关闭通信套接字。
s.关闭通道
*-*-*服务器建立服务器接口对象
ServerSocket对象负责等待客户端请求创建一个接口连接,类似于邮件框窗口中的接口连接
业务员。也就是说,
服务器必须预先设置一个等待客户端请求,以建立一个接口连接
服务器索克对象。
所谓“接收”客户的套接字请求,就是accept()方法会返回一个 Socket 对象。
上面一样哦,有点不同
UDP编程
*-*-* DatagramSocket和DatagramPacket类实现基于UDP协议的网络程序。
●
UDP数据报告通过DatagramSocket传输和接收,这并不保证UDP
数据报一定能够安全送到目的地,也不能确定什么时候可以抵达。
●
DatagramPacket对象包含UDP数据消息,并包含数据消息中的发送者IP地址
以及接收机的IP地址和端口号码。
●
UDP协议中的每个数据消息都提供完整的地址信息,因此不需要设置发送者和接收者
的连接
1.DatagramSocket和DatagramPacket
2.建立传送器、接收器
3. 建立数据报
4.调用接口的发送和接收方法
5.关闭插座
提示:发送者和接收者是两个单独运行的程序
代码展示: