网络软件设计3——套接字接口函数.ppt

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
段景山 网络软件设计 套接字接口函数 制作 主讲 段景山 * socket 函数调用 socket( ) bind( ) listen( ) accept( ) recv( ) send( ) closesocket( ) recvfrom( ) sendto( ) connect( ) select( ) setsockopt( ) ioctlsocket( ) shutdown( ) 通信类 控制类 getpeername( ) getsockname( ) getsockopt( ) 信息类 htonl( ) htons( ) ntohl( ) ntohs( ) inet_addr( ) inet_ntoa( ) 辅助类 * socket ( ) SOCKET WSAAPI socket( IN int af, IN int type, IN int protocol) SOCKET类型就是int 类型(见winsock.h 中的定义) WSAAPI:说明函数是Windows Socket Application Application Programming Interface函数 IN:表示参数的作用是输入 OUT:表示参数作用为输出 * SOCKET socket( IN int af, IN int type, IN int protocol) af:地址族类型,tcp/ip使用AF_INET socket ( ) type:套接字类型, SOCK_STREAM SOCK_DGRAM SOCK_RAW SOCK_RDM SOCK_SEQPAKCET 默认情况下使用TCP协议 默认情况下使用UDP协议 数据直接封装在IP分组内 功能:建立一个套接口结构,将其描述符交给调用者 protocol:协议号,一般设置为0 返回:套接字描述符 实验:测试socket()的各个参数, 如使用非常规的af,type,protocol来测试 * bind ( ) int bind ( IN SOCKET s, IN struct sockaddr * name, IN int namelen) s: 套接字描述符 name:本地端点(套接字)地址结构指针 namelen:本地端点(套接字)地址结构大小 功能:建立套接字和端点之间的关系--确定“我是谁” 返回:正确建立为0,否则为SOCKET_ERROR 实验:能否在一个套接字描述符上两次绑定不同端点 不可以,PPT3Page5Test1工程。 能否在不同的套接字上绑定同一个端点 不可以,PPT3Page5Test2工程。 * listen ( ) int listen(IN SOCKET s,IN int backlog) s: 套接字描述符 backlog: 设置同时监听的连接个数,最好不设置为0, 目前最大为5 功能:设置套接字为监听模式。服务器模式 返回:设置成功为0,否则为SOCKET_ERROR 实验:如何通过backlog来限制同时接收的连接个数 设计实验方案,预期的结果 (-1) * connect ( ) int connet(IN SOCKET s,IN struct sockaddr * name, IN int namelen) s: 套接字描述符 name:端点(套接字)地址结构指针 namelen:端点(套接字)地址结构大小 功能:与服务器建立连接 返回:连接成功为0,不成功为-1 实验:服务器的地址可以是INADDR_ANY吗?为什么? 不可以,客户机要确定服务器是谁。 连接前一定要绑定本地端点吗? 不一定,如果不绑定则当connect语句执行后系统分配 一个端口给客户机 * accept ( ) SOCKET accept( IN SOCKET s, OUT struct sockaddr * addr, IN OUT int * addrlen ) addr:远端点(套接字)地址结构指针 addrlen:远端点(套接字)地址结构大小指针 s: 套接字

文档评论(0)

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

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

1亿VIP精品文档

相关文档