C++ C++;套接字发送/接收vs写入/读取
在socketC++ C++;套接字发送/接收vs写入/读取,c++,linux,sockets,C++,Linux,Sockets,在socketssize\u t send(int\uu fd,const void*\uu buf,size\u t\uu n,int\uu flags)中,我们得到了这个\uu flags参数。我在整个连接中都使用了MSG\u NOSIGNAL标志。是否有办法在write中实现此标志功能?因为我在整个连接中都使用这个标志,所以可以在创建socket时设置它。请随意提及是否有方法实现所有\u flag功能。否。当使用write写入套接字时,这与使用flags参数设置为零调用send是一样的 从
ssize\u t send(int\uu fd,const void*\uu buf,size\u t\uu n,int\uu flags)
中,我们得到了这个\uu flags
参数。我在整个连接中都使用了MSG\u NOSIGNAL
标志。是否有办法在write
中实现此标志功能?因为我在整个连接中都使用这个标志,所以可以在创建socket
时设置它。请随意提及是否有方法实现所有\u flag
功能。否。当使用write
写入套接字时,这与使用flags
参数设置为零调用send
是一样的
从
如果fildes引用套接字,则write()应等同于,且未设置任何标志
但是,有一种永久“设置”此标志的方法,即忽略
SIGPIPE
信号:
signal(SIGPIPE, SIG_IGN);
这将忽略进程所有连接的信号,不管怎样,你能帮我处理剩余的标志吗?我投了赞成票,但不能接受答案。坦克@neckTwi其他两个官方标志(以及受支持的标志)特定于正在发送(或接收)的消息,而不是可以在每个连接或每个套接字(或每个进程或每个线程)的基础上设置的标志。