关于客户端重新连接的问题 初学java,在写一个网络程序,客户端连接到服务端后,向服务端发送一条数据,然后两边都close。第二次我又 new Socket(IP,Port)的时候就没有反应了,这种情况应该怎样处理呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我只是关闭了连接上来的那个客户端的Socket,没有关闭ServerSocket 一般的服务器的等待连接是当客户端连接上了以后,就不区分谁是客户端谁是服务器了,也就是说你服务器的ServerSocket已经变成与客户端的Socket一样了。如果需要连接断开后客户端还能连接上的话,需要在服务器端实现多线程,使用while的死循环来一直等待客户端的连接。 ServerSocket ss=new ServerSocket(8899); while(true){ Socket socket=ss.accept();//启动一个线程来处理接收到客户端连接后的处理 HandlerRead handler=new HandlerRead(socket); handler.start(); } dc=new DataContainer(); mainServer ms=new mainServer(11111,dc); ms.start(); ss=new ServerSocket(12345); while(true) { s=ss.accept(); Recv recv=new Recv(s,dc); recv.start(); }我的代码是这样写的,然后再线程里关闭了s ss也关了?s.close()就行了 用循环创建一组Button, SAX解析XML 建立结点问题 求助,JTable对象建立好后还能使用getToolTipText(MouseEvent event)吗? 给段代码,大家看看,是否合理 最近碰到个怪事,从串口读出的数据第一次是正常,为何后面的就出错---位子不对了 有关端口的问题? GUI JDialog中的组件尺寸自动缩小 不懂数据库能把JAVA学得很好吗? JTabbedPane上面的那些页标怎么不显示? 我有SUN SCJP,SCJD中英文教材!! 怎么不定义数组固定长度?以输入字符串长度为该数组长度! java map 排序问题
while(true){
Socket socket=ss.accept();
//启动一个线程来处理接收到客户端连接后的处理
HandlerRead handler=new HandlerRead(socket);
handler.start();
}
mainServer ms=new mainServer(11111,dc);
ms.start();
ss=new ServerSocket(12345);
while(true)
{
s=ss.accept();
Recv recv=new Recv(s,dc);
recv.start();
}
我的代码是这样写的,然后再线程里关闭了s
s.close()就行了