我的服务器程序(套接字流)正在运行并且它接受客户端。由于某些异常情况,服务器正在终止。另一端客户端正在等待服务器回复。如何将正在运行的客户端重新连接到新服务器?套接字中的任何功能?
解决这两个函数之间的错误可能有什么区别?:
这个问题给我带来了另一个问题......字符数是否总是与字节数相同?
有关更多信息:我在 Linux 上的 C 中使用它进行 TCP 套接字通信(sys/socket.h) 感谢您的回复。
返回:
write():
成功时返回写入的字节数(零表示未写入任何内容)。出错时,返回 -1,并适当设置 errno。如果 count 为零并且文件描述符引用常规文件,则将返回 0 而不会引起任何其他影响。对于特殊文件,结果不可移植。
send():
调用返回发送的字符数,如果发生错误,则返回 -1。
来自 stackoverflow 的问题说这种方法应该与使用标志零相同。
这里
int client_sockfd;
char* msg;
int length = strlen(msg);
//first option
if(send(client_sockfd, msg, length, 0) != length) return 1;
else return 0;
//second option
if(write(client_sockfd, msg, length) != length) return 1;
else return 0;
Run Code Online (Sandbox Code Playgroud)