日期:2014-05-19  浏览次数:20769 次

win7 运行socket程序报错
本帖最后由 c493177979 于 2010-12-28 18:15:55 编辑

while(over_time<tryTimes){
if(socket==null || socket.isClosed()){
socket=new Socket(IP,port);
}
setSendString(pkg);
sendData();
long start=System.currentTimeMillis();//开始时间
while(getReturnData().equals("") || getReturnData()=="" || getReturnData()==null)
{
Thread.sleep(threadWaitTime);//线程等待时间
if(!(getReturnData().equals("") || getReturnData()=="" || getReturnData()==null)){
setOperateResult(true);
closeSocket();
over_time=tryTimes;
break;
}
long now=System.currentTimeMillis();//现在时间
if((now-start)>=overtime){
setInfoString("连接超时,服务器无返回!");
setOperateResult(false);
break;
}

}
over_time++;
}




发生异常:
java.net.BindException: Address already in use: NET_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:398)
at java.net.Socket.bind(Socket.java:582)
at java.net.Socket.<init>(Socket.java:392)
at java.net.Socket.<init>(Socket.java:207)
环境tomcat5+ibm1.5jdk,不知道是什么原因,重启机器第一次可以正常连接,第二次连接就出现上述异常。帮忙解决一下啦。谢谢!

------最佳解决方案--------------------
这个不是 java 的问题,你在使用一个正在被占用的端口号。

java.net.BindException: Address already in use: NET_Bin


用 cmd 检测一个端口列表。

C:\> netstat -ano 
------其他解决方案--------------------
引用:
也许时win7 安全机制 太高  你试试关闭些 安全机制得东西  如:防火墙 等   或者 拿到 XP系统上试试

呵呵 防火墙关闭了,在xp上没问题。。。。好郁闷啊  现在做开发是远程到一台xp的机子开发的
------其他解决方案--------------------
路过、、、、、、、、、、
------其他解决方案--------------------
是不是断开连接太频繁了,人家反应不过来。
------其他解决方案--------------------
自己先顶了,各位大哥帮帮忙啊!
------其他解决方案--------------------
没人

------其他解决方案--------------------
帮忙啊
------其他解决方案--------------------
 find ":你的端口号"

这个命令返回的结果中包括一个进程号 (pid),用这个 pid 再找找看这个进程是谁。

------其他解决方案--------------------
引用:
这个不是 java 的问题,你在使用一个正在被占用的端口号。

java.net.BindException: Address already in use: NET_Bin


用 cmd 检测一个端口列表。

C:\> netstat -ano 
------其他解决方案--------------------
 find ":你的端口号"

这个命令返回的结果中包括一个进程号 (pid),用这个 pid 再找找看这个进程是谁。

我这个是socket客户端,怎么知道哪个端口号啊?
------其他解决方案--------------------
自己顶了
------其他解决方案--------------------
引用:
是不是断开连接太频繁了,人家反应不过来。

重启电脑后什么都不开就开tomcat都不行,发现自己的端口连接别人的都是49000之后的,同样的程序在windows xp下就没有这个问题,真搞不懂,求助ing