MS Windows 套接字示例对我不起作用 [关闭]

Posted

技术标签:

【中文标题】MS Windows 套接字示例对我不起作用 [关闭]【英文标题】:MS Windows socket example not working for me [closed] 【发布时间】:2016-03-17 19:46:26 【问题描述】:

我正在尝试运行here 概述的 Windows 套接字示例

在 VS 调试器中运行服务器代码,它挂在 accept() 调用上(第 84 行)。

由于我很确定大约有一百万人成功运行了此程序,我猜这不是代码,而是我的环境中的某些东西。我正在运行 Windows 7,VS Community 2015。关于我应该检查哪些设置以使这个看似简单的示例正常工作有什么建议吗?

编辑:也为 .NET 4.5.2 构建,如果有帮助的话。

谢谢。

【问题讨论】:

【参考方案1】:

预计代码一旦到达 accept() 调用就会挂起,这是服务器等待客户端连接以便继续的地方。您应该从here 编译示例客户端并在服务器启动并运行后运行它。一旦客户端点击 connect() 调用,您应该会看到接受返回。

【讨论】:

谢谢。我以为它工作正常,但这次我单步执行客户端并在 connect() 上收到 WSAECONNREFUSED 错误。 WSAECONNREFUSED 表示连接被主动拒绝。如果 1) 客户端尝试连接到根本不侦听客户端的服务器 IP:Port,则可能会发生这种情况。已到达 IP,但端口未打开。 2)IP到达,端口打开,但是端口的待处理客户端的积压已满。在服务器有机会从其积压中接受一些客户端之后再试一次。 3) 防火墙阻止了连接。不幸的是,客户端无法知道这些条件中的哪一个导致WSAECONNREFUSED,它所能做的就是稍后再试。

以上是关于MS Windows 套接字示例对我不起作用 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

简单的 Spring @CreatedDate 注释对我不起作用

为啥命名:false 对我不起作用

为啥 Class.forName() 对我不起作用?

为啥 '@drop' 事件在 vue 中对我不起作用?

为啥交换功能对我不起作用? [复制]

为啥 BlockInput 对我不起作用?我忘了啥吗?