linux - TCP : Simulate EINPROGRESS from server side (linux)

标签 linux sockets networking tcp raw-sockets

如何模拟来自非阻塞客户端的连接以遇到 EINPROGRESS 错误? 我可以从服务器做什么来将此类错误返回给客户端(即调整一些 tcp 计时器、原始套接字服务器等)

最佳答案

当连接到本地主机时,TCP 总是立即连接,因此 connect()不返回 EINPROGRESS .

您可以通过“假装”connect() 在客户端中模拟它返回 EINPROGRESS并等待客户端套接字准备好写入(就像在 EINPROGRESS 之后连接一样)。事实上,一些图书馆就是为非阻塞做的 connect()避免立即连接和慢速连接使用两种不同的代码路径。

关于linux - TCP : Simulate EINPROGRESS from server side (linux),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10228799/

相关文章:

php - 非阻塞套接字 : Are messages queued?

HTTP 流水线和错误处理

linux - 通过 shell 脚本发送推文到 Twitter

c - linux下如何查找usb转并口设备的基址?

c - bind() 失败,Windows 套接字错误 10049

java - 为什么我无法从本地网络访问 glassfish 服务器

ssl - TLS/SSL 端点前的 TCP 负载平衡器

python - 判断host是否为localhost

linux - 在 make 文件中正常分配和导出分配之间的区别

linux - 不能同时监听 IPv4 和 IPv6(地址已被使用)