猿问

请问在C语言的socket编程中,send/recv,write/read这两组函数有什么区别?

RT,什么时候该用哪一组呢?另外,如果可能也请描述一下他们和sendto/recvfrom, sendmsg/recvmsg比较一下。请不要只贴API,API只说怎么用没说有什么区别。

慕勒3428872
浏览 423回答 2
2回答

烙印99

Windows下的socket和Linux下的socket是不一样的,我没有查到sendmsg/recvmsg这个方法,上面的链接是一个类似的函数,它和send/recv 的区别是,这个函数可以发送socket控制信息,看API就知道。另外我也没有看到有write/read函数。 sendto/recvfrom用于UDP链接,send/recv用于TCP链接。你列举的其余函数,我都没找到。

茅侃侃

write/read,是关于写特定的文件描述符使用的比较底层的系统调用,sendto/recvfrom适用于用udp(数据包)方式的套接字中使用的,其他的没见过,我是学linux编程的
随时随地看视频慕课网APP
我要回答