我正在开发一个将文件发送到其他设备的示例应用程序。我的窗口上有2个按钮,一个是发送,另一个是停止文件传输。发送;将文件发送到目的地并停止:停止发送过程。
当我将多个文件发送到目的地时,所有文件都正确到达目的地。但是,如果我点击发送并重复停止3至4次(即最初我点击发送然后突然,我点击停止。我将继续这个过程3到4次)。 然后,如果我尝试发送多个文件,它将发送第一个文件,当它发送2个文件时,我在函数Send()中得到错误#10054。
我使用非阻塞套接字: u_long i = 1; ioctlsocket(sockt,FIONBIO,& i);
在破坏者中我正在关闭scoket。请帮助他解决这个问题。
答案 0 :(得分:1)
首先,在我看来问题是在同行端。 它可能无法正确管理连接。例如,当时可能有多个连接(多个活动套接字,例如一个停止延迟和刚刚创建的新套接字),而另一方程序没有意识到这一点。