网络实现UDP协议连接
2018-01-10 09:17
302 查看
1 要想通过UDP协议来实现网络通信。则要使用DatagramSocket 和DatagramPacket来使用。
2 客户端创建一个DatagramSocket 和DatagramPacket。让DatagramPacket绑定数据和host和port。发送时通过DatagramSocket的send方法
如:DatagramSocket udpSocket=new DatagramSocket();
String value_c="client_data";
byte[] byte_c=value_c.getBytes();;
DatagramPacket packet=new DatagramPacket(byte_c,0,byte_c.length,InetAddress.getByName("127.0.0.1"),24520);
udpSocket.send(packet);
发送时。需要带上host对应的InetAddress和port。客户端的发送。通过DatagramSocket 的send方法。参数为DatagramPacket 。
3 客户端的接收。通过DatagramSocket 的receive方法。参数为DatagramPacket。
如:DatagramSocket udpSocket=new DatagramSocket();
byte[] byte_c_=new byte[1024];
DatagramPacket packet_=new DatagramPacket(byte_c_,0,byte_c_.length);
udpSocket.receive(packet_);
String value_c_=new String(byte_c_);
接收式。只需要DatagramPacket中设置字节数组的长度即可。
4 服务端的先接收。然后再发送给客户端。接收时。通过DatagramSocket 设置端口号需要和客户端发送时一致。
如:DatagramSocket udpSocket=new DatagramSocket(24520);
byte[] byte_s=new byte[1024];
DatagramPacket packet=new DatagramPacket(byte_s,0,byte_s.length);
udpSocket.receive(packet);
String value_s=new String(byte_s);
value_s=value_s.trim();//这里需要注意。需要通过trim函数来去除空格。
这就是服务端的接收。端口号需要和客户端一致。
5 服务端发送时。需要设置host对应的InetAddress和port。
如:DatagramSocket udpSocket=new DatagramSocket(24520);
byte[] byte_s_=value_s.getBytes();
String host=packet.getAddress().getHostName();
int port=packet.getPort();
System.out.println("host:"+host+"---port:"+port);
DatagramPacket packet_=new DatagramPacket(byte_s_,0,byte_s_.length,InetAddress.getByName(host),port);
udpSocket.send(packet_);
总结。记住UDP协议的连接通信。通过DatagramSocket 和DatagramPacket
客户端DatagramSocket 构造函数为空。
服务段DatagramSocket 的构造函数为客户端的端口号。
无论客户端还是服务端。发送都需要host对应的InetAddress和port。
如:DatagramPacket packet_=new DatagramPacket(byte_s_,0,byte_s_.length,InetAddress.getByName(host),port);
udpSocket.send(packet_);
而接收只需要设置字节数组的相关信息即可。
记住:发送需要地址和端口。而接收不需要。
2 客户端创建一个DatagramSocket 和DatagramPacket。让DatagramPacket绑定数据和host和port。发送时通过DatagramSocket的send方法
如:DatagramSocket udpSocket=new DatagramSocket();
String value_c="client_data";
byte[] byte_c=value_c.getBytes();;
DatagramPacket packet=new DatagramPacket(byte_c,0,byte_c.length,InetAddress.getByName("127.0.0.1"),24520);
udpSocket.send(packet);
发送时。需要带上host对应的InetAddress和port。客户端的发送。通过DatagramSocket 的send方法。参数为DatagramPacket 。
3 客户端的接收。通过DatagramSocket 的receive方法。参数为DatagramPacket。
如:DatagramSocket udpSocket=new DatagramSocket();
byte[] byte_c_=new byte[1024];
DatagramPacket packet_=new DatagramPacket(byte_c_,0,byte_c_.length);
udpSocket.receive(packet_);
String value_c_=new String(byte_c_);
接收式。只需要DatagramPacket中设置字节数组的长度即可。
4 服务端的先接收。然后再发送给客户端。接收时。通过DatagramSocket 设置端口号需要和客户端发送时一致。
如:DatagramSocket udpSocket=new DatagramSocket(24520);
byte[] byte_s=new byte[1024];
DatagramPacket packet=new DatagramPacket(byte_s,0,byte_s.length);
udpSocket.receive(packet);
String value_s=new String(byte_s);
value_s=value_s.trim();//这里需要注意。需要通过trim函数来去除空格。
这就是服务端的接收。端口号需要和客户端一致。
5 服务端发送时。需要设置host对应的InetAddress和port。
如:DatagramSocket udpSocket=new DatagramSocket(24520);
byte[] byte_s_=value_s.getBytes();
String host=packet.getAddress().getHostName();
int port=packet.getPort();
System.out.println("host:"+host+"---port:"+port);
DatagramPacket packet_=new DatagramPacket(byte_s_,0,byte_s_.length,InetAddress.getByName(host),port);
udpSocket.send(packet_);
总结。记住UDP协议的连接通信。通过DatagramSocket 和DatagramPacket
客户端DatagramSocket 构造函数为空。
服务段DatagramSocket 的构造函数为客户端的端口号。
无论客户端还是服务端。发送都需要host对应的InetAddress和port。
如:DatagramPacket packet_=new DatagramPacket(byte_s_,0,byte_s_.length,InetAddress.getByName(host),port);
udpSocket.send(packet_);
而接收只需要设置字节数组的相关信息即可。
记住:发送需要地址和端口。而接收不需要。
相关文章推荐
- 通过套接字(socket)和UDP协议实现网络通信
- 在网络7层协议中,如果想使用UDP协议达到TCP协议的效果,可以在哪层做文章?(QQ 为什么采用 UDP 协议,而不采用 TCP 协议实现?)
- Node.js与网络:Node.js对TCP、UDP、Socket、HTTP等协议的实现和支持
- 网络编程应用:基于UDP协议【实现文件下载】--练习
- 网络编程的概述2 网络通信中的三要素3 InetAddress的概述和测试,IP地址:InetAddress 传输协议(网络协议)TCP 可靠协议,需要连接,效率会稍低 没有大小的限制UDP 不:
- MMS实现详细分析(BENQ M22模块*--(3)------MMS发送的无线网络连接协议分析
- {网络编程}和{多线程}应用:基于UDP协议【实现多发送方发送数据到同一个接收者】--练习
- 使用C#实现基于TCP和UDP协议的网络通信程序的基本示例
- 网络工程用UDP协议和多线程实现群聊。(用map来存取地址信息)
- UDP: 用Socket 实现UDP 协议下的网络通信
- 网络编程应用:基于UDP协议【实现聊天程序】--练习
- 网络编程----socketserver多并发实现、FTP上传多并发、udp协议套接字多并发
- java中网络编程------UDP协议(实现步骤)DatagramSocket对象
- 代码实现查看网络连接状态 协议 与端口 并且能看到其进程路径
- 通过套接字(socket)和UDP协议实现网络通信
- Node.js与网络:Node.js对TCP、UDP、Socket、HTTP等协议的实现和支持
- 网络协议 -- UDP协议(5)UDP的IOCP实现
- Linux网络编程5——使用UDP协议实现群聊
- Visual C#实现网络对时系统——UDP协议的实际应用
- Java网络编程 - 基于UDP协议 实现简单的聊天室程序