| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 218 人关注过本帖
标题:[求助]急!!Address already in use (Exception)
收藏  订阅  推荐  打印 
rayxar2007
Rank: 1
等级:新手上路
帖子:6
积分:160
注册:2007-4-26
[求助]急!!Address already in use (Exception)

编了开了32个服务器线程, 服务器之间通过某种算法交换数据,每个服务器接受到数据就会开线程处理。 可是我程序运行了2-3分钟就抛出exception了。基本上是说我用完了端口了。用了NETSTAT看了基本好多线程都是TIME-WAIT, 可我明明有关闭socket.

服务器:
public static class ListenServer implements Runnable
{
private ServerSocket ss;
...........
public ListenServer(String pot,String lik)
{
。。。。。


try
{

ss=new ServerSocket(sevport,10);

}
catch(IOException ie)
{
System.out.println("can not listen at "+sevport);
ie.printStackTrace();
}

}
public class DialogServer implements Runnable{
Socket s;
String rev;
DataInputStream in;
public DialogServer(Socket sss){
s=sss;
}
public void run(){
try{rev="";

in=new DataInputStream(s.getInputStream());
rev=in.readUTF();
in.close();

s.close();
tempchk+=rev+"$";
}
catch(IOException ie)
{
ie.printStackTrace();
}
}.........
---------------------------------------------------------------

每个子线程处理数据完了发送给特定服务器用的是:
Socket tt = new Socket("localhost", port);
DataOutputStream outt = new DataOutputStream(tt.getOutputStream());
outt.writeUTF(changemsg);
outt.flush();
outt.close();
tt.close();
不是这样关闭socket的吗? 求大家帮帮忙,很急
搜索更多相关主题的帖子: Exception  already  Address  use  
2007-5-10 21:51
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.112269 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved