java socket编程 ,小妹求教,整个人都思密达了。。。

soundtravel 2011-11-12 08:57:56
我编的是一个有界面的client端和server端,用的是线程池来处理client的连接的~~

现在的问题是,我想在多个client连接进来后,server端发消息给指定的client
小妹初学java,经验也不多,
我能想到的方法是通过指定client的ip和端口来指定特定的client

下面代码是按下“发送”键之后的响应事件:

	private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
//按下“发送”键 , 首先需要在服务器端 显示信息,再发送到客户端

DataOutputStream dos=null;
Socket clientsocket=null;
for(int i = 0;i < clientvector.size();i++){
if((jTextField2.getText().equals(clientvector.elementAt(i).getInetAddress()))&&(Integer.parseInt(jTextField3.getText())==(clientvector.elementAt(i).getPort())))
{
clientsocket=clientvector.elementAt(i);
}
}
if(clientsocket==null){
System.out.println("无法找到您想要连接的客户端。");
}
try {
dos = new DataOutputStream(clientsocket.getOutputStream());

} catch (IOException e1) {

e1.printStackTrace();

}
jTextArea2.append("服务器端说:"+jTextField1.getText()+"\n");//在server显示要发送到client的信息

try {
dos.writeUTF("服务器端说:"+jTextField1.getText()+"\n");

} catch (IOException e) {

e.printStackTrace();

}
try {
jTextArea2.append("dos关闭。。。\n");
dos.close();
} catch (IOException e) {

e.printStackTrace();
}


jTextField1.setText("");
}


我现在的问题是我每按一次"发送", client端socket就关闭,serversocket也关闭了。。。

我该不该为每一次"发送"事件都创建一个dataoutputstream呢??

实在是不知道怎么办了,希望大家帮帮忙啊!
...全文
153 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
soundtravel 2011-11-13
  • 打赏
  • 举报
回复
我自己已经想出解决的办法了,论坛果然不靠谱。 谢谢各位了。
xsgydll 2011-11-12
  • 打赏
  • 举报
回复
妹子果断要顶
soundtravel 2011-11-12
  • 打赏
  • 举报
回复
不好意思,我第一次在csdn发帖,还什么都不懂,请多指教啊[Quote=引用 1 楼 ivorytower 的回复:]

Java code
while(true){
//.....
}


==
不要重复发帖。
[/Quote]
追风筝的孩子 2011-11-12
  • 打赏
  • 举报
回复
在while死循环里面不就可以了吗= =
soundtravel 2011-11-12
  • 打赏
  • 举报
回复
不懂。。[Quote=引用 2 楼 zhao251021539 的回复:]

你以为你是小妹我就不会回答你?
[/Quote]
soundtravel 2011-11-12
  • 打赏
  • 举报
回复
一楼的, 如果按钮触发的事件里有 while(true) 那按钮不就释放不了了吗??
meran 2011-11-12
  • 打赏
  • 举报
回复
你以为你是小妹我就不会回答你?
  • 打赏
  • 举报
回复
while(true){
//.....
}


==
不要重复发帖。

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧