2 coco parker coco_parker 于 2016.04.14 13:07 提问

linux C语言 send sendto recv recvfrom 的等价写法

在linux中

send(s, buf, len, flags) 与 sendto(s, buf, len, flags, NULL, 0) 等价吗?

recv(s, buf, len, flags) 与 recvfrom(s, buf, len, flags, NULL, 0) 等价吗?

4个回答

CSDNXIAOD
CSDNXIAOD   2016.04.14 13:12

send,recv,sendto,recvfrom
send,recv,sendto,recvfrom
send,recv,sendto,recvfrom
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

ultramanleoking
ultramanleoking   2016.04.14 15:38

等价的。直接用read,write往buffer里写也是可以的

z617490935
z617490935   2016.04.14 15:55

不等价,sendto与recvfrom要地址参数,面向无连接,只要地址就可以发送。
send与recv 是面向连接的,因此使用前需要握手,握手成功后已经跟套接字绑定,因此不需要再需要地址参数

NK_test
NK_test   Rxr 2016.04.15 00:50

不等价。send和recv用于tcp连接,剩下的用于udp连接。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
TCP通信常用的send,sendto,recv,recvfrom函数详解
send函数 int send( SOCKET s,    const char FAR *buf,    int len,    int flags );  不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。 客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。 该函数的第一个参数指定发送端套接字描述符; 第二个参数指
send,recv,sendto,recvfrom
send函数 int send( SOCKET s,    const char FAR *buf,    int len,    int flags );  不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。该函数的第一个参数指定发送端套接字描述符;第二个参数指明一个存放应用程序要发送数据的缓冲区;第三个参数指明实际要发送的数据的字节数;第四个参数一般置0。这里只描述同步Socket的s
提醒初学者注意 send(sendto) recv(recvfrom) 中的 参数flags
/*说明:    1 这篇文章是给象我一样的初学者看的,如果您有一些经验了,请不要看,因为它会花费您宝贵的时间。     2 使用 MSDN 版本:MSDN Library - October 2001*/第一次写这个玩意,感觉很新鲜。也希望这件事(写文档)对我和大家有好处。因为在开发的过程中出现一些弯路,后来发现了。想提醒大家注意。刚开始接触 winsock 编程
socket编程 send() recv() sendto() recvfrom()
socket编程 send() recv() sendto() recvfrom() int socket( int af, int type, int protocol); af: 指定一个协议簇(协议域),常见有AF_INET──指定为IPv4协议,AF_INET6──指定为IPv6,AF_LOCAL──指定为UNIX 协议域等。 它值都是系统预先定义的宏,系统支持哪些协议我们才可以使用,
send sendto ,recv recvfrom有什么区别
一般情况下: send(),recv()用于TCP,sendto()及recvfrom()用于UDP 但是send(),recv()也可以用于UDP,sendto()及recvfrom()也可以用于TCP
write read;writev readv;recv send;recvfrom sendto;recvmsg sendmsg五组I/O函数汇总
read、write 头文件: #include 原型:size_t read ( int fd, void *buf, size_t count);              size_t write ( int fd, const void * buf, size_t count); 参数: fd文件描述符;buf指向一段内存的指针;count想要读取或者写入fd的字
TCP和UDP编程理解:bind ,recv,recvfrom,send,sendto
网络初学笔记,有错误还望指出
send()、sendto()和recv()、recvfrom()的使用
udp通讯中的sendto()需要在参数里指定接收方的地址/端口,recvfrom()则在参数中存放接收发送方的地址/端口,与之对应的send()和recv()则不需要如此,但是在调用send()之前,需要为套接字指定接收方的地址/端口(这样该函数才知道要把数据发往哪里),在调用recv()之前,可以为套接字指定发送方的地址/端口,这样该函数就只接收指定的发送方的数据,当然若不指定也可,该函数就可以
send和recv的flags
send和recv解释 int send(int s, const void *msg, size_t len, int flags); flags取值有: 0: 与write()无异 MSG_DONTROUTE:告诉内核,目标主机在本地网络,不用查路由表 MSG_DONTWAIT:将单个I/O操作设置为非阻塞模式 MSG_OOB:指明发送的是带外信息 int recv(i
UDP中recvfrom函数与sendto函数分析
一.UDP客户服务器程序的套接字模型 与tcp服务器相比较的优缺点: 二、函数解析 #include ssize_t recvfrom(int sockfd, void *buf, size_t nbytes, int flags, struct sockaddr *from, socklen_t *addrlen); ssize_t sendto(int soc