TCP编程和UDP编程其实是差不多的,主要的区别是UDP必须把要传递的信息变成数组进行传递:
import java.net.*;
import java.io.*;
public class TestUDPServer {
public static void main(String[] args)throws Exception {
byte buf[] = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf,buf.length);
DatagramSocket ds = new DatagramSocket(4478);
while(true) {
ds.receive(dp);
ByteArrayInputStream bais = new ByteArrayInputStream(buf);
DataInputStream dis = new DataInputStream(bais);
System.out.println(dis.readLong());
}
}
}
import java.net.*;
import java.io.*;
public class TestUDPClient {
public static void main(String[] args) throws Exception {
long n = 10000L;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
dos.writeLong(n);
byte[] buf = (baos.toByteArray();;
DatagramPacket dp = new DatagramPacket(buf,buf.length,new InetSocketAddress("127.0.0.1",4478));
DatagramSocket ds = new DatagramSocket(9999);
ds.send(dp);
ds.close();
}
}