黑马程序员技术交流社区

标题: 关于java网络聊天程序 [打印本页]

作者: 杨剑    时间: 2013-3-4 12:51
标题: 关于java网络聊天程序
本帖最后由 杨剑 于 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, 下载次数: 15)

chat.png

作者: lzw123451    时间: 2013-3-4 14:47
林明华 发表于 2013-3-4 13:31
public void run(){
  try{
   while(true){

我擦......害的我也研究也好久。
作者: 杨剑    时间: 2013-3-4 20:22
非常感谢,清楚了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2