Socket过程.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Socket过程

Socket 过程 Socket 过程创建一个套接字并返回一个整型描述符: Descriptor = socket ( protofamily, type, protocol) 其中 : protofamily: AF-INET 表示TCP/IP协议系列 type: SOCK_STREAM表示面向连接的流传输 SOCK_DGRAM 表示无连接的面向消息传输 Protocol: 一般情况下为0 IPPROTO_TCP IPPROTO_UDP Bind过程 在套接字被创建之后,服务器使用Bind过程提供一个传输层地址,服务器将通过它等待通信。 Bind(socket ,localaddr, addrlen) 其中: socket 是一个套接字的描述符 localaddr 是将要赋予套接字的本地地址,是sockaddr结构。 Addrlen 是本地地址的长度 struct sockaddr { u_char sa_len; /* total length of address */ u_char sa_family; /* family of the address */ char sa_data[14]; /* address */ } For IP protocols, sa_data hold IP address and port number: struct sockaddr_in { u_char sin_len; /* total length of address */ u_char sin_family; /* family of the address */ u_short sin_port; /* protocol port number */ struct in_addr sin_addr; /* IP address */ char sin_zero[8] /* unused */ } Listen过程 服务器调用Listen过程将套接字设为被动模式以使它能被用来等待客户的通信。 Listen(socket,queuesize) 其中: socket 是一个套接字的描述符 queuesize表示该套接字的请求队列的长度,请求队列的存在允许系统在服务器正在处理上一个请求时保存到达的其它请求。 Connect过程 客户使用Connect过程与指定服务器建立连接。 Connect(socket, saddress, saddresslen) 其中: socket 是客户端计算机上用于该连接的套接字的描述符 saddress 是服务器地址与协议端口号,是sockaddr结构 saddresslen是saddress的长度 Accept过程 服务器调用Accept过程来接受客户的一个连接请求 newsock= accept (socket,caddress,caddresslen) 其中: socket 是服务器已经创建并联编于指定协议端口的套接字的描述符 caddress用于存放客户端的地址,是sockaddr结构 caddresslen是一个指向整型的指针,用于存放caddress的长度 Send过程 如果套接字已连接,send过程可用来传输数据。 Send(socket,data,length,flags) 其中: socket是使用的服务器/客户套接字的描述符 data是待发送数据在内存中的地址 length表示数据的字节数 flags包含了请求特殊选项的位,做系统调试用。 另外UDP还使用 sendto(socket,data,length,flags,destaddr,addrelen) 过程发送消息。 Recv 过程 一个应用可以条用recv从一个连接的套接字接收数据。 Recv(socket,buffer,length,flags) 其中: socket是从中接收数据的服务器/客户套接字的描述符 buffer表示内存中用来存放接收数据的地址 length表示缓冲区的大小 flags包含了请求特殊选项的位,做系统调试用。 另外UDP还使用 recvfrom(socket,buffer,length,flags,sndaddr,addrelen) 过程来接收消息。 Close过程 Close过程告诉系统终止对一个套接字

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档