日期:2014-05-18  浏览次数:20939 次

Socket问题, 由于目标机器积极拒绝,无法连接
同一台计算机,同一段代码,只是不同的项目,一个项目可以连接,而另一个只要做到socket.Connect就出错(由于目标机器积极拒绝,无法连接)
代码如下:
Socket s = null;
IPEndPoint ipe;
  void function(){
  IPHostEntry hostEntry = Dns.GetHostEntry("");
  ipe = new IPEndPoint(hostEntry.AddressList[0], 111);
  s = new Socket(ipe.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
  s.Connect(ipe); 
  }
如果有朋友出现想同的问题,可找告知问题出在那里

------解决方案--------------------
你总要把具体情况说说啊
你这段代码说明不了问题的

连接不上的可能多了, 也许是项目的复杂程度阻碍了网络响应,或者你的侦听端口被占用,或者你的两个项目走的网络IP不同防火墙给你K掉了。
------解决方案--------------------
这段代码没有问题,看别的程序出问题没有
同意LS
------解决方案--------------------
改成 ipe = new IPEndPoint(hostEntry.AddressList, 111); 

服务端改成 (ipAddress.Any,111)

------解决方案--------------------
或者直接用 IpHostEntry实例连接,AddressList[0]会有问题。
------解决方案--------------------
对了,我想起来,前天我做了一个程序,端口3位数就不行,改8888就可以了,突然想到windos的1-1024端口是保留端口,你碰巧80端口可以用。你试试1025以后的是不是都可以用,就会说明问题了哦。1-1024端口是windos的保留端口会有一点问题。