socket.Connect在某些项目中没有阻塞,在其他项目中它按预期工作

时间:2011-06-20 13:51:02

标签: c# sockets blocking

我有以下代码:

IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Parse("172.16.50.99"), 2111);
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Blocking = true;
socket.Connect(ipEndPoint);

其他端(172.16.50.99)未连接。在只有这段代码的(C#)程序中,它会阻塞。但是在另一个项目(大)中的相同代码,它不会阻止。我把这段代码移到程序的开头,但它仍然没有阻塞。是否有可能影响此行为的项目设置?!我真的不知道造成这种情况的原因。我正在使用VS2010,.Net4

亲切的问候,狮子座

1 个答案:

答案 0 :(得分:0)

好的,我通过创建一个新解决方案并将所有项目从原始项目复制到新解决方案来解决它。套接字现在按预期工作。 很奇怪。唯一的区别是我的新解决方案中的引用较少(未在新解决方案中添加未使用的引用)。引用会影响套接字行为吗?或者有隐藏的解决方案设置吗?