关于applet和socket(二)

parngoo 2002-08-16 11:47:32
问:本人写的一个applet,目的是用socket连接服务器进行即时通讯。但是每次在退出之后重新启动时,原来的socket似乎没有清理干净,老是报:java.net.BindException: Address in use: connect.
答:是不是你在退出时没有close监听的端口?
问:怎么关闭监听的端口呢?谢谢
...全文
26 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
heifei 2002-08-16
  • 打赏
  • 举报
回复
不会吧,例如一个文传下载服务器,
同时又好多客户端连接同时下载文件,
如果某一个客户端下下载完成,serverSocket就关闭,
哪其他的客户端岂不是====全都OVER?=====

哈哈哈
binriyue 2002-08-16
  • 打赏
  • 举报
回复
serversocket也要关闭。
parngoo 2002-08-16
  • 打赏
  • 举报
回复
本程序在applicaiton模式下是正常的。
只是不知道applet模式下有什么不同。
parngoo 2002-08-16
  • 打赏
  • 举报
回复
是socket,不是serversocket。
我已经手动的关闭inputstream,outputstream,socket。
但是还是不顶用阿。
parngoo@yahoo.com.cn
8slob 2002-08-16
  • 打赏
  • 举报
回复
退出前应该断开所有的连接, inputstream.close,ps.close;serversocket.close,
binriyue 2002-08-16
  • 打赏
  • 举报
回复
留下E_mail,我把我的上、下载文件发给你。
远太狼 2002-08-16
  • 打赏
  • 举报
回复
serverSocket.close()
heifei 2002-08-16
  • 打赏
  • 举报
回复
无所谓客户、服务端用那种工具做的,我用java做的服务器端,delphi做的客户端一样运行的很好。
parngoo 2002-08-16
  • 打赏
  • 举报
回复
我认为诸君不无道理。
但是好像没有切入题点,这个程序在application模式下是无任何问题的。另外,server是vc做的,不可能区控制server的。
zhangkai 2002-08-16
  • 打赏
  • 举报
回复
在服务端与客户端通讯处的处理处理线程中检查,如果得到客户端断开的状态则当前这个与客户端通讯的Socket关闭。
为代码:

ClientProcess clientprocess=new ClientProcess(serverSock.accept());

classs ClientProcess extend thread{
clientprocess (Socket soc){
this.sock=soc;
this.start();
}
void run(){
while(sock是正常连接的){
//do something
}
//断开套接字如sock.close();等

}
}

62,614

社区成员

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

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