A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨剑 中级黑马   /  2013-3-4 12:51  /  1943 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨剑 于 2013-3-4 20:21 编辑

import java.io.*;
import java.net.*;
class Send implements Runnable{
private DatagramSocket ds;
Send(DatagramSocket ds){
  this.ds = ds;
}
public void run(){
  try{
   BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
   String line = null;
   while((line=br.readLine())!=null){
    byte[] buf = line.getBytes();
    DatagramPacket dp = new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.1.121"),10003);
    ds.send(dp);
    if("886".equals(line))
     break;
   }
  }catch(Exception e){
   throw new RuntimeException("发送端失败");
  }
  
}
}
class Rece implements Runnable{
private DatagramSocket ds;
Rece(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());
    if("886".equals(data))
     break;
   }
  }catch(Exception e){
   throw new RuntimeException("接收端失败");
  }
}
}
class ChatDemo{
public static void main(String[] args) throws Exception{
  DatagramSocket ds1 = new DatagramSocket();
  DatagramSocket ds2 = new DatagramSocket(10003);
  Send s = new Send(ds1);
  Rece r = new Rece(ds2);
  Thread t1 = new Thread(s);
  Thread t2 = new Thread(r);
  t1.start();
  t2.start();
}
}
为什么我写的这个聊天程序不显示出现的内容呢?原因出在哪里呢,请大家看看

chat.png (3.86 KB, 下载次数: 19)

chat.png

评分

参与人数 1技术分 +1 收起 理由
高境 + 1 赞一个!

查看全部评分

3 个回复

倒序浏览
林明华 发表于 2013-3-4 13:31
public void run(){
  try{
   while(true){

我擦......害的我也研究也好久。
回复 使用道具 举报
非常感谢,清楚了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马