XiaoHui.net 笑汇程序员论坛首页
工作并快乐着,职业并休闲着
寻梦的岁月从不言辛苦几许,
不问收获几多……
» 游客:  申请新用户 | 登录 | 会员 | 统计 | 帮助 » XiaoHui.Net 笑汇程序员论坛 | 纯文字版 | 全站索引 | XiaoHui.com


[J2SE 技术] 请问如何编写简单的基于tcp的java聊天室?

RSS 订阅当前论坛  

上一主题 下一主题
     

标题: [J2SE 技术] 请问如何编写简单的基于tcp的java聊天室?  
 
aewyNgmoud
小水手
Rank: 1


UID 30080
精华 0
积分 15
帖子 15
阅读权限 10
注册 2007-5-11
状态 离线
请问如何编写简单的基于tcp的java聊天室?

我想做个2个人之间的简单的聊天室,但是不能实现通信,请看看我的代码:
图形界面没发,构造方法中接收传的JTextArea的对象。
服务器端:
import java.io.*;
import java.net.*;
import javax.swing.*;
import java.awt.*;
public class TCPServer{

JTextArea t1;
public TCPServer(JTextArea tt){tt.setText(""); t1=tt;}


public void set(){


String datakey=null;
String data=null;
try{
ServerSocket Server=new ServerSocket(6666);
Socket Client=Server.accept();
System.out.print("服务器连接成功\n");
BufferedReader in=new BufferedReader(new InputStreamReader(Client.getInputStream()));
BufferedReader readFromKeyboard=new BufferedReader(new InputStreamReader(System.in));
PrintWriter out=new PrintWriter(Client.getOutputStream(),true);


//ObjectInputStream in=new ObjectInputStream(Client.getInputStream());
//ObjectOutputStream out=new ObjectOutputStream(Client.getOutputStream());
//BufferedReader readFromKeyboard=new BufferedReader(new InputStreamReader(System.in));

do{
data=in.readLine();
t1.append(data);
}while(!data.equals("quit"));



do{
datakey=readFromKeyboard.readLine();
out.println(datakey);
//out.write(datakey);
}while(!datakey.equals("quit"));



out.close();
in.close();
Client.close();
Server.close();
}catch(Exception e){
System.out.print("不起作用\n"+e);}
}
}
客户端:
import java.io.*;
import java.net.*;
import javax.swing.*;
import java.awt.*;
class TCPClient{

JTextArea t2;
public TCPClient(JTextArea tt){tt.setText(""); t2=tt;}

public void set(){

String data=null;
String Clientdata=null;
try{
        Socket Client=new Socket("localhost",6666);
        PrintWriter out=new PrintWriter(Client.getOutputStream(),true);
        BufferedReader in=new BufferedReader(new InputStreamReader(Client.getInputStream()));
        BufferedReader readFromKeyboard=new BufferedReader(new InputStreamReader(System.in));


        //ObjectInputStream in=new ObjectInputStream(Client.getInputStream());
        //ObjectOutputStream out=new ObjectOutputStream(Client.getOutputStream());
        //BufferedReader readFromKeyboard=new BufferedReader(new InputStreamReader(System.in));
       
    do{
        Clientdata=readFromKeyboard.readLine();
        out.println(Clientdata);
        //out.write(Clientdata);
        data=in.readLine();
        t2.append(data);
      }while(!Clientdata.equals("quit"));
        out.close();
        in.close();
        Client.close();
   }catch(Exception e)
         {System.out.print("不起作用\n"+e);}
   }
}

[ 本帖最后由 aewyNgmoud 于 2007-6-15 17:59 编辑 ]


......
2007-6-11 19:35#1
查看资料  Blog  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题  


 


所有时间为 GMT+8, 现在时间是 2008-12-2 12:44 Powered by Discuz! 4.1.0 清除 Cookies - XiaoHui.Net 笑汇程序员论坛 - Archiver