UDP协议收发数据
1.UDP协议

2. UDP通信程序--发送数据

1.先创建DatagramSocket对象,获取快递公司,参数要指定端口号,类也是程序,在设备中要有标识

2.创建DatagramPacket对象,将我们要发送的数据进行打包
DatagramPacket的四个参数分别为发送的数据、发送数据的长度、接收端ip(要ip对象)、接收端端口
发生的数据要以字节的形式给出,使用getBytes即可

3.快递公司将包裹发送出去,socket调用send方法发送packet

4.释放资源,关闭快递公司

3.UDP通信程序--接收数据

1.创建DatagramSocket 对象,获取快递站,参数的端口要对应发送端包裹的端口

2.创建DatagramPacket对象,获取到接收包裹的箱子,可以不用给端口和ip

3.socket调用receive将数据接收到创建的箱子中

4.packet调用getData获取到发送的字节数据,还可以调用getAddress获取到ip对象,再调用getHostName获取发送端ip

5.释放资源

总览
receive具有阻塞现象,当接收到数据后才会继续往下走

案例

客服端方面
1.将快递公司和包裹创建好,这里的socket使用随机端口,防止后续多个用户聊天时端口绑定出错
2.使用无限循环接收用户的字符串,并且判断用户是否输入886,有则该用户循环结束
3.在无限循环中发送包裹
4.当循环停止后,释放资源

服务端方面
1.创建快递公司和箱子
2.用socket调用receive将发送过来的包裹存入箱子(packet)中
3.packet调用getData获取到字节数组,String构造方法解析数组获取字符串
3.packet调用getAddress获取对方ip对象,调用getHostName获取对方ip地址
4.输出对方发送的字符串
5.使用无限循环包裹packet接收发送的所有逻辑(快递公司不用包裹,否则端口绑定出错)

服务端作为聊天室,要一直供应,所以不需要关闭无限循环



允许打开多个控制台



 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号