嵌入式Linux高级编程--06posix 网络编程.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于数据流的socket编程流程 基于数据报的编程流程 socket 系统调用 #include sys/types.h #include sys/socket.h int socket(int family, int type, int protocol); 功能:socket 函数创建一个用于网络通信的套接字,并返回该套接字的整数描述符。 返回值:成功返回非零,失败返回-1. 参数: family 是协议或地址族( 对于TCP/IP 为PF_INET ,也可使用AF_INET ) type 是服务的类型(对于TCP 为SOCK_STREAM,对于UDP为SOCK_DGRAM) protocol 是使用的协议号,或是用0 指定family 和type 的默认协议号。 bind 系统调用 #include sys/types.h #include sys/socket.h int bind(int sockfd, const struct sockaddr * localaddr, socklen_t addrlen); 功能:bind 为一个套接字指明一个本地IP 和协议端口号。 返回值:成功则返回0 ,失败返回 –1 。 参数: sockfd 是由socket 调用创建一个套接字描述符 localaddr 是一个地址结构,指定一个IP 地址和协议端口号 addrlen 是地址结构的字节数大小。 struct sockaddr { sa_family_t sa_family; char sa_data[14]; } listen 系统调用 #include sys/socket.h int listen(int sockfd, int queuelen); 功能:服务器使用listen 是套接字处于被动状态(准备接受联入请求)。 返回值:成功则返回0 ,错误返回 –1 。 参数: sockfd 是一个由socket 调用创建的套接字描述符 queuelen 是连接请求的队列大小 accept 系统调用 #include sys/types.h #include sys/socket.h Int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen); 功能:accept 从队列中取走下一个连接请求(或一直在那里等待下一个连接请求的到达),为请求创建一个新套接字,并返回新的套接字描述符。 accept 只用于流套接字(如TCP 套接字)。 返回值:成功返回一个非负套接字描述符。错误返回 –1。 参数: sockfd 是是由socket 函数创建的一个套接字描述符。 addr 是一个地址结构的指针。accept 在该结构中填入远程机器的IP 号和协议端口号。 addrlen 初始指定为struct sockaddr结构体大小存放地址。 connect 系统调用(客户端) #include sys/types.h #include sys/socket.h int connect(int sockfd, const struct sockaddr * addr, socklen_t addrlen); 功能:connect 允许调用者为先前创建的套接字指明远程端点的地址。如果套接字使用了TCP ,connect 就使用三方握手建立一个连接。 返回值:成功返回0 ,错误返回 –1 。 参数: sockfd 是一个套接字的描述符 addr 是远程机器端点地址 addrlen 是struct sockaddr结构体的大小 recvfrom 系统调用 #include sys/types.h #include sys/socket.h ssize_t recvfrom(int s, void *buf, size_t len, int flags,struct sockaddr *from, socklen_t *fromlen); retcode = recvfrom ( socket, buffer, length, flags, from , fromlen ) ; 功能:recvfrom 从套接字获取下一个报文,并记录发送者的地址。 返回值:成功返回接收的字节数。错误返回 –1 。 参数: socket 是一个由socket 函数创建的套接字描述符 buf是存放报文的缓冲区地址 len 是缓冲区的长度 flags 是控制位,指明是否接受带外数据和是否预览报文 from 是存放发送方地址结构的地址 fromlen 是缓冲区的长度,返回时为发送者地址的

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档