62,614
社区成员
发帖
与我相关
我的任务
分享
public class Send implements Runnable{
private DatagramSocket ds;
public Send(DatagramSocket ds){
this.ds=ds;
}
public void run(){
try {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String line=null;
while((br.readLine())!=null){
if("886".equals(line)){
break;
}
byte[] buf=line.getBytes();
DatagramPacket dp=new DatagramPacket(buf, buf.length,InetAddress.getByName("127.0.0.1"),10020);
ds.send(dp);
}
} catch (Exception e) {
throw new RuntimeException("发送失败");
}
}
}
public class Rece implements Runnable{
private DatagramSocket ds;
public Rece(DatagramSocket ds){
this.ds=ds;
}
public void run(){
try {
while(true){
byte [] buffer=new byte[1024];
DatagramPacket dp=new DatagramPacket(buffer, buffer.length);
ds.receive(dp);
String ip=dp.getAddress().getHostAddress();
String data=new String(dp.getData(),0,dp.getLength());
System.out.println(ip+":"+data);
}
} catch (Exception e) {
throw new RuntimeException("接收失败");
}
}
}
public class chatDemo {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
DatagramSocket sendS=new DatagramSocket(10020);
DatagramSocket receS=new DatagramSocket(10020);
new Thread(new Send(sendS)).start();
new Thread(new Rece(receS)).start();
}
}
代码无问题Exception in thread "main" java.net.SocketException: Unrecognized Windows Sockets error: 0: Cannot bind
at java.net.PlainDatagramSocketImpl.bind0(Native Method)
at java.net.PlainDatagramSocketImpl.bind(PlainDatagramSocketImpl.java:82)
at java.net.DatagramSocket.bind(DatagramSocket.java:368)
at java.net.DatagramSocket.<init>(DatagramSocket.java:210)
at java.net.DatagramSocket.<init>(DatagramSocket.java:261)
at java.net.DatagramSocket.<init>(DatagramSocket.java:234)
麻烦帮忙下,怎么回事呢asa
Exception in thread "Thread-1" java.lang.RuntimeException: 发送失败
at chatDemo.Send.run(Send.java:31)
at java.lang.Thread.run(Thread.java:619)