JAVA UDP套接字编程
UDP套接字
无连接
非可靠传输
面向数据报
package com.lius.udp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
/**
* udp Socker服务器
* @author Administrator
*
*/
public class udpServer {
public static void main(String[] args) {
try {
DatagramSocket server = new DatagramSocket(8080);
byte[] b = new byte[1024];
DatagramPacket pack = new DatagramPacket(b, b.length);
while(true) {
server.receive(pack);
System.out.println(String.format("接收到消息:%s", new String(b,0,pack.getLength())));
}
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package com.lius.udp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
/**
* udp Socket客户端
* @author Administrator
*
*/
public class udpClient {
public static void main(String[] args) {
try {
byte[] b = new byte[1024];
InetAddress inetAddr;
inetAddr = InetAddress.getByName("127.0.0.1");
DatagramSocket sock = new DatagramSocket();
while(true) {
Thread.currentThread().sleep(1000);
b = "你好!!!".getBytes();
DatagramPacket pack = new DatagramPacket(b, b.length, inetAddr, 8080);
sock.send(pack);
}
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}