遇到WSAECONNRESET错误时无法读取服务器响应消息?

时间:2016-12-02 15:44:02

标签: tcp client-server cross-platform winsock

处理客户端应用程序(在Windows上运行)问题,该问题使用与数据库服务器(在linux上运行)的异步通信(带套接字)。

在将数据加载到服务器并且服务器终止套接字时,客户端应用程序出现WSAECONNRESET错误。我使用了WSAGetLastError函数并解压缩了错误消息。 服务器在终止使用WSAECONNRESET错误的套接字之前向客户端发送了一些消息(报告应用程序特定的错误消息)。客户端无法提取服务器发送的最后一条消息(作为套接字)关闭,“recv”功能失败)。我的问题是如何将数据库服务器(在Linux上)发送的最后消息提取到客户端(在Windows上)?

请注意,这个案例适用于Linux数据库服务器到linux客户端。我的意思是,unix socket到unix socket。但问题只发生在Linux套接字到Windows套接字通信。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

你不能。 '连接重置'破坏连接,所有飞行中的数据都会丢失,包括可能已经在接收器上缓冲的任何数据。

您需要解决导致重置的问题。