recv()和recvfrom()有什么区别?
的有关信息介绍如下:recv()和recvfrom()区别是:含义不同、用法不同、侧重点不同
一、含义不同
recv
abbr. 接收;收到(receive)。
recv from
收到来自…。
二、用法不同
recv
receive的基本意思是“接受”“收到”,仅指接到或收到某物的客观事实,而不表示主观态度(接受或拒绝)。引申表示“受到教育、惩罚、支持等”“赞同某一意见或看法”。有时还可表示“接见某人”。
Ipfw add allow tcp from to in recv.
添加和除去规则例子:。
L2TP : Zero check error when recv call control message.
第三个表明收到的控制报文中存在应该为0的位不为0的情况。
The placeholder prefix is SEND for Send connectors or RECV for Receive connectors.
占位符prefix为SEND(对于发送连接器)或RECV(对于接收连接器)。
recv from
receive from/of的意思是“从某处或某人那收到(款项)”,如received from/of Sam seven pounds。
I received a cable from New York.
我收到一封从纽约来的电报。
We receive a fax of the order this morning.
我们今天上午收到一份传真订单。
Do you save letters and cards that you receive from friends and relatives?
您有收藏您所收到的朋友的和亲人的信件、卡片吗?
三、侧重点不同
recv
仅指接到或收到某物的客观事实,而不表示主观态度(接受或拒绝)。
recv from
从某处或某人那收到(款项)。
recv的recvfrom是可以替换使用的,只是recvfrom多了两个参数,可以用来接收对端的地址信息,这个对于udp这种无连接的,可以很方便地进行回复。而换过来如果你在udp当中也使用recv,那么就不知道该回复给谁了,如果你不需要回复的话,也是可以使用的。另外就是对于tcp是已经知道对端的,就没必要每次接收还多收一个地址,没有意义,要取地址信息,在accept当中取得就可以加以记录了。
对于recvfrom 可同时应用于面向连接的和无连接的套接字。
recv一般只用在面向连接的套接字,几乎等同于recvfrom,只要将recvfrom的第五个参数设置NULL。
说白了就是 recvfrom比recv多了一个导航功能,你看名字就很好理解啦,有个from吗
楼上回答的很专业
看标准库的说明。