Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.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
Windows Tcp套接字+;send()错误#10054_Windows_Sockets_Windows Mobile_Winapi - Fatal编程技术网

Windows Tcp套接字+;send()错误#10054

Windows Tcp套接字+;send()错误#10054,windows,sockets,windows-mobile,winapi,Windows,Sockets,Windows Mobile,Winapi,我正在开发一个示例应用程序,它将文件发送到其他设备。我的窗口上有两个按钮,一个是发送,另一个是停止文件传输。发送;将文件发送到目标并停止:停止发送过程 当我将多个文件发送到目标时,所有文件都正确到达目标。但是,如果我反复单击发送并停止3到4次(即最初单击发送,然后在没有时间的情况下突然单击停止。我将继续此过程3到4次)。 然后,如果我尝试发送多个文件,它将发送第一个文件,当它发送2个文件时,函数send()中出现错误#10054 我通过以下方式使用非阻塞套接字: u_long i=1; ioct

我正在开发一个示例应用程序,它将文件发送到其他设备。我的窗口上有两个按钮,一个是发送,另一个是停止文件传输。发送;将文件发送到目标并停止:停止发送过程

当我将多个文件发送到目标时,所有文件都正确到达目标。但是,如果我反复单击发送并停止3到4次(即最初单击发送,然后在没有时间的情况下突然单击停止。我将继续此过程3到4次)。 然后,如果我尝试发送多个文件,它将发送第一个文件,当它发送2个文件时,函数send()中出现错误#10054

我通过以下方式使用非阻塞套接字: u_long i=1; ioctlsocket(sockt、FIONBIO和i)

在销毁程序中,我正在关闭烤箱


请帮助他解决这个问题。

首先,在我看来,这个问题似乎是在对等端。
它可能无法正确管理连接。例如,当时可能有多个连接(多个活动套接字,比如一个已停止的套接字和一个刚刚创建的新套接字),而另一方程序没有意识到这一点

10054=对等方重置连接。意味着另一方已经关闭了连接有什么办法可以从我这边避免吗?只有当我尝试发送并重复停止3到4次时才会发生这种情况。如果您可以发布代码或提供一些信息,那就更好了。您是否为每次文件传输创建新连接?还有,服务器呢?这是标准的还是您编写的?感谢您的重播,我了解到closesocket()不会在调用close socket后立即关闭套接字。它只是启动关闭操作。如何克服这个问题。这不是问题。这是正常的。正是出于这个原因,您的服务器应该支持多个连接。这是重新建立与远程设备的连接(再次创建套接字和连接)的正确方法吗?如果我这么做了,会有什么问题吗?