package com.imooc;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UDPServerThread implements Runnable {
DatagramSocket socket = null;
byte[] data = null;
DatagramPacket packet = null;
public static void main(String[] args) throws IOException {
UDPServerThread serverThread = null;
Thread thread = null;
int count = 0;
DatagramSocket socket = new DatagramSocket(8800);
byte[] data = null;
DatagramPacket packet = null;
while (true) {
data = new byte[1024];
packet = new DatagramPacket(data, data.length);
socket.receive(packet);
serverThread = new UDPServerThread(socket, data, packet);
thread = new Thread(serverThread);
thread.start();
System.out.println("客户端数量为" + (++count));
}
}
public UDPServerThread(DatagramSocket socket, byte[] data, DatagramPacket packet) {
this.socket = socket;
this.data = data;
this.packet = packet;
}
@Override
public void run() {
try {
runMain();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void runMain() throws IOException {
String info = new String(data, 0, packet.getLength());
System.out.println("客户端说" + info);
InetAddress address = packet.getAddress();
System.out.println("客户端IP:" + address.getHostAddress());
int port = packet.getPort();
data = "欢迎您".getBytes();
packet = new DatagramPacket(data, data.length, address, port);
socket.send(packet);
}
}
打开App,阅读手记