JAVA网络编程之UDP通信演示
2012-10-12 10:44
423 查看
java Udp通信用到的主要是几个类:DatagramSocket,DatagramPacket
UDP数据包发送步骤:
1.使用DatagramSocket()创建一个数据包套接字。
2.使用DatagramPacket()创建要发送的数据包。
3.使用DatagramSocket()类的send()方法发送数据包。
UDP数据包接收步骤:
1.使用DatagramSocket(int port)创建一个数据包套接字,绑定到指定端口。
2.使用DatagramPacket()创建字节数组接收数据包。
3.使用DatagramPacket()类的receive()方法接受数据包。
下面是我的测试代码,参考了网上别人的代码,在此表示感谢:
客户端:
服务端:
UDP数据包发送步骤:
1.使用DatagramSocket()创建一个数据包套接字。
2.使用DatagramPacket()创建要发送的数据包。
3.使用DatagramSocket()类的send()方法发送数据包。
UDP数据包接收步骤:
1.使用DatagramSocket(int port)创建一个数据包套接字,绑定到指定端口。
2.使用DatagramPacket()创建字节数组接收数据包。
3.使用DatagramPacket()类的receive()方法接受数据包。
下面是我的测试代码,参考了网上别人的代码,在此表示感谢:
客户端:
import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class UdpClient { public static void main(String[] args){ DatagramSocket client; try{ client = new DatagramSocket(); String str = "我是客户机我是客户机"; byte[] sendBuf; sendBuf = str.getBytes(); InetAddress address = InetAddress.getByName("192.168.1.108"); int port = 9999; DatagramPacket sendPacket = new DatagramPacket(sendBuf, sendBuf.length,address,port); client.send(sendPacket); System.out.println("已发送"); byte[] recBuf = new byte[100]; DatagramPacket recPacket = new DatagramPacket(recBuf,recBuf.length); client.receive(recPacket); String recMsg = new String(recPacket.getData()); System.out.println(recMsg); client.close(); }catch(Exception e){e.printStackTrace();} } }
服务端:
import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class UdpServer { public static void main(String[] args){ DatagramSocket server; try{ server = new DatagramSocket(9999); byte[] buf = new byte[100]; DatagramPacket recPacket = new DatagramPacket(buf,buf.length); server.receive(recPacket); String str = new String(recPacket.getData()); System.out.println(str); int port = recPacket.getPort(); InetAddress address = recPacket.getAddress(); String answerMsg = "已经收到你的消息"; byte[] sendBuf; sendBuf = answerMsg.getBytes(); DatagramPacket sendPacket = new DatagramPacket(sendBuf,sendBuf.length, address,port); server.send(sendPacket); server.close(); }catch(Exception e){e.printStackTrace();} } }
相关文章推荐
- Java中的TCP/UDP网络通信编程
- java例程练习(网络编程[简单UDP通信试验])
- 【java面试系列之网络编程】TCP和UDP的区别、TCP协议的三次握手和四次挥手、TCP协议的通信状态、网络编程时的同步、异步、阻塞、非阻塞、进程间的通信方式、TCP的流量控制和拥塞控制
- Java网络编程(基于TCP和UDP的通信实现)
- java 网络编程之UDP通信和简单的群聊程序
- Java网络编程之UDP网络通信
- Java网络编程之简单UDP通信
- Java中网络通信编程之UDP通信
- JAVA网络编程--UDP通信
- java udp网络编程及实例代码,实现客户端和服务端通信
- Java网络编程:UDP通信
- JAVA网络编程--UDP通信
- 【Java网络编程】基于 UDP 的聊天通信
- Java TCP/UDP网络通信编程
- Java网络编程四 非阻塞通信UDP
- JAVA 网络编程 UDP通信
- java网络编程-双线程实现UDP通信
- Java网络编程中的TCP,UDP通信方式详解
- Java网络编程:UDP通信
- Java中的TCP/UDP网络通信编程