我正在用 C/C++ 编写一个简单的服务器。我已经完成了大部分工作,但是有一个问题。服务器未能将文件的最后三行发送到客户端。我假设我过早地关闭了套接字连接,但我试图解决这个问题的尝试失败了。例如,调用
shutdown(clientSckt, SHUT_RDWR);
在为客户端套接字调用 close() 方法之前。并为套接字参数添加延迟,如下所示:
struct linger l;
l.l_onoff = 1;
l.l_linger = 1;
setsockopt(clientSckt, SOL_SOCKET, SO_LINGER, &l, sizeof(l));
打开后。但这些似乎都不起作用。服务器没有错误地写入所有内容,但客户端没有收到所有内容。