核心代码比较简单,基于UDP的聊天实现,采用读,写分离,用不同的线程实现。
主要实现类为
DatagramSocket()与DatagramPacket(),默认端口为8009,Ip地址需要自己输入。</span>
Reader线程:
package com.java.gui;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
public class Reader {
private DatagramSocket ds = null;
private DatagramPacket dp = null;
//private String string = null;
public void run()
{
byte reader[] = new byte[1024];
try {
ds = new DatagramSocket(8009);
dp = new DatagramPacket(reader, 1024);
String jieshou = null;
ds.receive(dp);
jieshou = new String(dp.getData(), 0, dp.getLength());
System.out.println(jieshou);
app1.fanhui = jieshou;
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
if(ds != null)
{
ds.close();
}
}
}
}
Writer线程:
package com.java.gui;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
p