Linux下的UDP协议编程

[11-20 17:12:58]   来源:http://www.88dzw.com  嵌入式系统   阅读:8771

文章摘要:int sendto(int sockfd,const void*msg,int len,unsigned int flags,struct3利用UDP数据报编程UDP协议有自己的通信模型。首先由UDP服务器调用函数socket创建一个数据报类型的套接字,然后服务器调用bind函数绑定在一个默认的UDP端口上,接着调用函数recvfrom在指定的端口上等待UDP客户机数据报的到来。而UDP客户机首先也调用函数socket创建一个数据报类型的套接字,然后调用函数sendto向UDP服务器发送数据报。需要注意的是,UDP客户机应用程序通常不需要调用函数bind将套接字绑定到某个固定的端口,linu

Linux下的UDP协议编程,标签:嵌入式系统开发,嵌入式开发,http://www.88dzw.com
  int sendto(int sockfd,const void*msg,int len,unsigned int flags,struct
 
3利用UDP数据报编程
  UDP协议有自己的通信模型。首先由UDP服务器调用函数socket创建一个数据报类型的套接字,然后服务器调用bind函数绑定在一个默认的UDP端口上,接着调用函数recvfrom在指定的端口上等待UDP客户机数据报的到来。而UDP客户机首先也调用函数socket创建一个数据报类型的套接字,然后调用函数sendto向UDP服务器发送数据报。需要注意的是,UDP客户机应用程序通常不需要调用函数bind将套接字绑定到某个固定的端口,linux操作系统会为进程分配一个空闲的端口号。UDP服务器进程接收到客户机发来的数据报后,将从recvfrom函数中返回,对数据报进行相关处理后,再调用sendto函数将结果返回到客户端。
  通常,客户端的设计和实现比服务器端的要容易一些,典型的UDP服务器与操作系统进行交互作用,而且大多数需要同时处理多个客户。一个UDP客户机启动后直接与单个服务器通信,然后就结束了。而对于服务器来说,它启动后处于休眠状态,等待客户请求的到来。当客户数据报到达时,服务器苏醒过来,数据报中可能包含来自客户的某种形式的请求消息。一个基本的UDP通信过程如图1所示。  
 
 
4结束语
  本文介绍了UDP套接字的通信机制。UDP是一个面向数据报的简单传输层协议。建议网络环境好,要求资源少的采用UDP,如很多实时系统一般采用UDP协议进行数据的网络传输。如果需要对接收的UDP数据报进行排序和流量控制,并保证数据报的可靠性, 则必须在应用程序中增加一些控制机制。

上一页  [1] [2] 


Tag:嵌入式系统嵌入式系统开发,嵌入式开发嵌入式系统