sendto recvfrom sendto recvfrom()和sendto()函数

sendto()和recvfrom()——利用数据报方式进行数据传输

1.sendto()函数

sendto recvfrom sendto recvfrom()和sendto()函数

在无连接的数据报socket方式下,由于本地socket并没有与远端机器建立连接,所以在发送数据时应指明目的地址,sendto()函数原型为:

int sendto(int sockfd, const void *msg,int len,

unsigned int flags, const struct sockaddr *to, int tolen);

该函数比send()函数多了两个参数,to表示目地机的IP地址和端口号信息,而tolen常常被赋值为sizeof (struct sockaddr)。Sendto 函数也返回实际发送的数据字节长度或在出现发送错误时返回-1。

2.recvfrom()函数

recvfrom()函数原型为: int recvfrom(int sockfd,void *buf,int len,

unsigned int lags,struct sockaddr *from,int *fromlen);

from是一个struct sockaddr类型的变量,该变量保存源机的IP地址及端口号。fromlen常置为 sizeof (struct sockaddr)。当recvfrom()返回时,fromlen包含实际存入from中的数据字节数。 recvfrom()函数返回接收到的字节数或当出现错误时返回-1,并置相应的errno。

应注意的一点是,当你对于数据报 socket调用了connect()函数时,你也可以利用send()和recv()进行数据传输,但该socket仍然是数据报socket,并且利 用传输层的UDP服务。但在发送或接收数据报时,内核会自动为之加上目地和源地址信息。

  

爱华网本文地址 » http://www.aihuau.com/a/408151/848232936197.html

更多阅读

如何使用 IF AND OR 条件函数 if or函数

如何使用 IF AND OR 条件函数——简介在工作和日常生活中都会用到Excel表格中的公式和函数,在数据筛选的时候尤为重要,下面让咱们一起认识下IF、AND和OR函数的用法IF函数是判断式的计算函数,假设单元格的值检验为True(真)时,就执行条件成

C++11中的lambda表达式 c lambda表达式 linq

C++11添加了一项名为lambda表达式的新功能,通过这项功能可以编写内嵌的匿名函数,而不必编写独立函数和函数对象,使得代码更容易理解。lambda表达式的语法如下所示:[capture_block](parameters) exceptions_specification-> return_type

触发器、存储过程和函数三者有何区别 存储过程和触发器

触发器是特殊的存储过程,存储过程需要程序调用,而触发器会自动执行;你所说的函数是自定义函数吧,函数是根据输入产生输出,自定义只不过输入输出的关系由用户来定义。在什么时候用触发器?要求系统根据某些操作自动完成相关任务,比如,根据买掉

高中数学的特点以及如何学好高中数学 数学好的人什么特点

高中数学的特点同学们,首先祝贺你们进入高中数学殿堂继续学习。在经历了三年的初中数学学习后,大家对数学有了一定的了解,对数学思维有了一定的雏形,在对问题的分析方法和解决能力上得到了一定的训练。这也是我们继续高中数学学习的基

安富莱DSP教程 第32章实数FFT的实现 dsp zoofft

特别说明:完整45期数字信号处理教程,原创高性能示波器代码全开源地址:链接第32章实数FFT的实现本章主要讲解实数的浮点和定点Q31,Q15的实现。关于这部分的知识点和函数的计算结果上,官方的文档有一些小错误,在章节中会跟大家详细讲述,还有

声明:《sendto recvfrom sendto recvfrom()和sendto()函数》为网友乌啼深归分享!如侵犯到您的合法权益请联系我们删除