| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 591 人关注过本帖
标题:问题:聊天工具的转发功能!
取消只看楼主 加入收藏
toshiba
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-6-9
收藏
 问题点数:0 回复次数:2 
问题:聊天工具的转发功能!

public class m implements Runnable {
Socket sock;
int id;
ArrayList list;
int i=0;
public void run() {
Iterator it=list.iterator();
DataOutputStream dout;
try {
dout = new DataOutputStream(sock.getOutputStream() );
System.out.println(sock.getInetAddress()+"...."+id);
dout.writeUTF( "sock"+id+"connect!");
while(true){
DataInputStream in=new DataInputStream(sock.getInputStream() );
String str=in.readUTF();
System.out.println(str+'\n');
while(it.hasNext())
{

Socket s=(Socket)(it.next()) ;

DataOutputStream out=new DataOutputStream(s.getOutputStream() );//我想用这一部分做转发功
out.writeUTF( str);                   //能,但出了问题!搞了好就

}                                //久!就来这求救!
}
}
catch (IOException e) {
e.printStackTrace();
}
}
public m(Socket s,int i,ArrayList list)
{
sock=s;
id=i;
this.list=list;
}

}

//////////server///////
public class mm {

static int n=0;

public static void main(String[] args) {
System.out.println("start");
ArrayList list=new ArrayList();
try {
ServerSocket s=new ServerSocket(3333);
while(true){

n=n+1;
Socket client=s.accept() ;
list.add(client);
m m1=new m(client,n,list);

Thread th=new Thread(m1);
th.start();
System.out.println("connect!!");

}

} catch (IOException e) {
e.printStackTrace();
}

}
}
////////client/////
public class cc extends JFrame implements ActionListener {
JTextField f1;
JTextArea a1;
JScrollPane s1;
ServerSocket server;
Socket sock;
public cc()
{
f1=new JTextField(30);
a1=new JTextArea(35,35);
s1=new JScrollPane(a1);
getContentPane().add(f1,"North");
getContentPane().add(s1,"Center");
setSize(300,300);
setVisible(true);
f1.addActionListener(this);
setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
try {

sock=new Socket(InetAddress.getLocalHost(),3333);
//a1.append( "server connect ok");
DataOutputStream dout=new DataOutputStream(sock.getOutputStream() );
dout.writeUTF("client\n");

while(true){
DataInputStream in=new DataInputStream(sock.getInputStream() );
a1.append(in.readUTF()+"\n") ;
}

} catch (IOException e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
new cc();
}
public void actionPerformed(ActionEvent arg0) {
DataOutputStream dout;
try {
dout = new DataOutputStream(sock.getOutputStream() );
String s=f1.getText() ;
dout.writeUTF(s);
a1.append(s+"\n");
} catch (IOException e) {
e.printStackTrace();
}
}
}

搜索更多相关主题的帖子: 聊天工具 
2007-06-09 14:35
toshiba
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-6-9
收藏
得分:0 

你好厉害哦!你在工作还是在校?
你可以说明一下我的程序错在哪吗?
你的代码有点长,我看了有点

2007-06-09 22:00
toshiba
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-6-9
收藏
得分:0 

我用了类似你那种 for (int i = 0; i < list_1.size(); i++) {
Socket s = (Socket) list_1.get(i);

的方法,已经搞定了!!!!!!!!!

非常感谢!!!!!!!!!!!!

2007-06-10 10:43
快速回复:问题:聊天工具的转发功能!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028945 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved