【发布时间】:2012-02-21 08:48:19
【问题描述】:
解决这两个函数之间的错误有什么不同吗?:
这个问题给我带来了另一个问题……字符数总是与字节数相同吗?
有关更多信息:我在 Linux 上的 C 中使用它进行 TCP 套接字通信(sys/socket.h)
感谢您的回复。
返回:
写():
成功时,返回写入的字节数(零表示未写入任何内容)。出错时,返回 -1,并适当设置 errno。如果 count 为零并且文件描述符引用常规文件,则将返回 0 而不会造成任何其他影响。对于特殊文件,结果不可移植。
发送():
调用返回发送的字符数,如果发生错误,则返回 -1。
来自 stackoverflow 的问题说这种方法应该与使用标志零相同。
here
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;
【问题讨论】: