Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在winsock中使用c++;_C++_Sockets_Winsock_Winsock2 - Fatal编程技术网

C++ 在winsock中使用c++;

C++ 在winsock中使用c++;,c++,sockets,winsock,winsock2,C++,Sockets,Winsock,Winsock2,我的工作是与继电器进行插座通信。若连接丢失,我想重新连接到中继并获取从中继发送的最后一个数据。我曾尝试拔下连接错误的以太网电缆,然后插入以太网电缆,然后关闭插座并重新打开插座,然后再次连接,然后调用接收功能,但它等待来自继电器的数据,无法从继电器获取最后的数据。之后,我再次尝试不使用closesocket,它返回-1。之后,我什么也不做,把以太网电缆重新连接到电脑上返回-1。有任何方法可以做到这一点,如果连接丢失,我应该重新打开套接字并重新连接连接函数还是其他什么 “中继”会重新发送数据吗?是否

我的工作是与继电器进行插座通信。若连接丢失,我想重新连接到中继并获取从中继发送的最后一个数据。我曾尝试拔下连接错误的以太网电缆,然后插入以太网电缆,然后关闭插座并重新打开插座,然后再次连接,然后调用接收功能,但它等待来自继电器的数据,无法从继电器获取最后的数据。之后,我再次尝试不使用closesocket,
它返回-1
。之后,我什么也不做,把以太网电缆重新连接到电脑上<代码>返回-1。有任何方法可以做到这一点,如果连接丢失,我应该重新打开套接字并重新连接连接函数还是其他什么

“中继”会重新发送数据吗?是否有文件证明它会这样做?这个“继电器”是什么?它是如何配置的?请注意,“重新发送”不是TCP的一部分,它必须在应用程序协议中实现。模式Vamprelay并且它已配置为61850协议,中继在重新连接后不会再次发送。有点难以理解。简言之,如果TCP获得一个全新的连接,它没有重新发送的方法,而是由应用程序决定是否必须重新发送任何内容并执行。中继负责跟踪由于断开连接而无法发送的任何数据,以便在重新连接后重新发送数据。在代码中,您无法使中继器以这种方式工作,必须在中继器的实现中处理它。要重新连接,您需要关闭当前连接,然后再次连接。您不必重新创建套接字本身,只需先创建
closesocket
,然后再创建
connect