标题:[求助]急!!Address already in use (Exception)
只看楼主
rayxar2007
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-4-26
 问题点数:0 回复次数:0 
[求助]急!!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-05-10 21:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-138385-1-1.html




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

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