黑马程序员技术交流社区
标题:
求教:关于UDP聊天程序
[打印本页]
作者:
qiaozengji668
时间:
2015-8-18 03:44
标题:
求教:关于UDP聊天程序
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
public class Socket{
public static void main(String[] args) throws SocketException {
DatagramSocket send = new DatagramSocket();
DatagramSocket rece = new DatagramSocket(11011);
new Thread(new SendSocket(send)).start();
new Thread(new ReceSocket(rece)).start();
}
}
class SendSocket implements Runnable {
DatagramSocket ds;
SendSocket(DatagramSocket ds){
this.ds = ds;
}
public void run(){
try {
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
String line = null;
while((line =bufr.readLine())!= null){
if("886".equals(line))
break;
byte [] buf = line.getBytes();
DatagramPacket dp = new DatagramPacket(buf, buf.length,InetAddress.getByName("172.17.55.107"),11011);
ds.send(dp);
}
}
catch (Exception e) {
throw new RuntimeException("发送端失败");
}
finally {
ds.close();
}
}
}
class ReceSocket implements Runnable{
DatagramSocket ds;
ReceSocket(DatagramSocket ds){
this.ds = ds;
}
public void run(){
try {
while(true){
byte [] buf = new byte [1024];
DatagramPacket dp = new DatagramPacket(buf, buf.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("接收端失败");
}
}
}
复制代码
此程序有何问题,使用DOS命令行,怎样才能收到数据???
作者:
kevin986745
时间:
2015-8-18 08:33
看不懂、、、、、
作者:
kenfans
时间:
2015-8-18 09:56
汗,你运行一下不就知道了
作者:
求学之路
时间:
2015-8-18 10:26
复杂的样子,小白一枚
作者:
fmi110
时间:
2015-8-18 10:27
你看一下 ip地址呢 如果接的路由器的话 感觉"172.17.55.107"这个ip不对啊 这个是网关地址吧
主机地址应该是192开头
作者:
qiaozengji668
时间:
2015-8-21 05:09
fmi110 发表于 2015-8-18 10:27
你看一下 ip地址呢 如果接的路由器的话 感觉"172.17.55.107"这个ip不对啊 这个是网关地址吧
主机地址应该 ...
谢谢,第一次获取自己的IP是这个,其他程序可以使用,
然后又获一次自己的IP,最后一段变了,
我表示很无奈{:2_39:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2