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