- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.1.1 OSI参考模型 6.1.2 IP地址 6.1.3 地址解析 6.1.4 域名系统 6.1.5 TCP/IP协议 6.1.6 端口 服务器与客户机间的通信过程是服务器中的客户套接字与客户机端 套接字间的通信。它们中的其中之一发送数据(Send),这时另一端触发receive事件,在该事件中就可以接收数据了。 多客户机中的两个客户机要实现通信,如第i个客户机要将数据发送给第j个客户机,过程是:第i个客户机将数据发送给服务器,服务器中的第i个客户套接字接收该数据,然后找到服务器中的第j个客户套接字,通过它将数据发送给第j个客户机,这样第j个客户机就可以接收到由第i个客户机发送的数据了。 面向非连接的通信,通信前不需要客户发送连接请求,服务器接受请求的过程,总是认为通信双方处于工作状态。用sendto,receivefrom实现数据收发。 下面介绍网络程序开发中经常使用的套接字函数。 1.WSAStartup 该函数用于初始化ws2_32.dll动态链接库。在使用套接字函数之前,一定要初始化ws2_32.dll动态链接库。 语法格式如下: int WSAStartup ( WORD wVersionRequested,LPWSADATA lpWSAData ); wVersionRequested:调用者使用的Windows Socket的版本,高字节记录修订版本,低字节记录主版本。例如,如果Windows Socket的版本为2.1,则高字节记录1,低字节记录2。 lpWSAData:一个WSADATA结构指针,该结构详细记录了Windows套接字的相关信息。 2.socket 该函数用于创建一个套接字。 语法格式如下: SOCKET socket ( int af,int type, int protocol ); af:一个地址家族,通常为AF_INET。 type:套接字类型,如果为SOCK_STREAM,表示创建面向链接的流式套接字;为SOCK_DGRAM,表示创建面向无链接的数据报套接字;为SOCK_RAW,表示创建原始套节字。对于这些值,用户可以在winsock2.h头文件中找到。 potocol:表示套接口所用的协议,如果用户不指定,可以设置为0。 返回值:是创建的套接字句柄。 3.bind 该函数用于将套接字绑定到指定的端口和地址上。 语法格式如下: int bind (SOCKET s,const struct sockaddr FAR* name,int namelen ); s:套接字标识。 name:一个sockaddr结构指针,该结构中包含了要结合的地址和端口号。 namelen:确定name缓冲区的长度。 返回值:如果函数执行成功,返回值为0,否则为SOCKET_ERROR。 4.listen 该函数用于将套接字设置为监听模式。 语法格式如下: int listen ( SOCKET s, int backlog); s:套接字标识。 backlog:等待连接的最大队列长度。例如,如果backlog被设置为2,此时有3个客户端同时发出连接请求,那么前两个客户端连接会放置在等待队列中,第3个客户端会得到错误信息。 注意:对于流式套接字,必须处于监听模式才能接收客户端套接字的连接。 5.accept 该函数用于接受客户端的连接。对于流式套接字,必须处于监听状态,才能接受客户端的连接。 语法格式如下: SOCKET accept ( SOCKET s, struct sockaddr FAR* addr, int FAR* addrlen ); s:一个套接字,应处于监听状态。 addr:一个sockaddr_in结构指针,包含一组客户端的端口号、IP地址等信息。 addrlen:用于接收参数addr的长度。 返回值:一个新的套接字,它对应于已经接受的客户端连接,对于该客户端的所有后续操作,都应使用这个新的套接字。 6.closesocket 该函数用于关闭套接字。 语法格式如下: int closesocket (SOCKET s); 其中,s用于标识一个套接字。如果参数s设置有SO_DONTLINGER选项,则调用该函数后会立即返回,但此时如果有数据尚未传送完毕,会继续传递数据,然后才关闭套接字。 7.connect 该函数用于发送一个连接请求。 语法格式如下: int connect (SOCKET s,const struct sockaddr FAR* name,int namelen ); s:一个套接字。 name:套接字s想要连接的主机地址和端口号。 namelen:name缓冲区的长度。 返回值:如果函数执行成功,返回值为0;否
您可能关注的文档
- Visual C#程序设计应用教程 教学课件 作者 郭力子 1第3章流程控制与函数.ppt
- Visual C#程序设计应用教程 教学课件 作者 郭力子 1第4章数组、集合与字符串.ppt
- Visual C#程序设计应用教程 教学课件 作者 郭力子 1第5章面向对象编程基础.ppt
- Visual C#程序设计应用教程 教学课件 作者 郭力子 1第6章Windows应用程序设计.ppt
- Visual C#程序设计应用教程 教学课件 作者 郭力子 1第7章数据库访问.ppt
- Visual C#程序设计应用教程 教学课件 作者 郭力子 1第8章文件处理和绘图基础.ppt
- Visual C#程序设计应用教程 教学课件 作者 郭力子 1第9章Web应用程序设计基础.ppt
- Visual C#程序设计应用教程 教学课件 作者 郭力子 第1章C#与VisualStudio2005.ppt
- Visual C#程序设计应用教程 教学课件 作者 郭力子 第2章变量与表达式.ppt
- Visual C#程序设计应用教程 教学课件 作者 郭力子 第4章数组、集合与字符串.ppt
- Visual C++应用开发与实践 教学课件 作者 刘乃琦VC 第7章 数据库操作技术.ppt
- Visual C++应用开发与实践 教学课件 作者 刘乃琦VC 第8章 综合案例商品销售管理系统.ppt
- Visual C++应用开发与实践 教学课件 作者 刘乃琦VC 第9章 课程设计网络五子棋.ppt
- Visual Forpro数据库设计与应用 教学课件 作者 安晓飞 10VFP第1讲.ppt
- Visual Forpro数据库设计与应用 教学课件 作者 安晓飞 10VFP第2讲.ppt
- Visual Forpro数据库设计与应用 教学课件 作者 安晓飞 10VFP第3讲.ppt
- Visual Forpro数据库设计与应用 教学课件 作者 安晓飞 10VFP第4讲.ppt
- Visual Forpro数据库设计与应用 教学课件 作者 安晓飞 10VFP第5讲.ppt
- Visual Forpro数据库设计与应用 教学课件 作者 安晓飞 10VFP第6讲.ppt
- Visual Forpro数据库设计与应用 教学课件 作者 安晓飞 10VFP第7讲.ppt
最近下载
- 发现你的行为风格 -DISC:提高职场沟通效率 完整版.ppt VIP
- 全球数字疗法产业报告.pptx VIP
- 是谁在敲【知识精研】一年级上册音乐粤教花城版.pptx VIP
- 第2课+开放互联——网络协议与标准+课件+2024—2025学年清华大学版(2024)B版初中信息技术七年级上册.pptx VIP
- 一株双歧杆菌发酵条件的研究.pdf VIP
- 小学四年级英语校本课程.doc VIP
- 中学教育学课程.pptx VIP
- GB_T 3880.2-2024一般工业用铝及铝合金板、带材 第 2 部分力学性能.docx VIP
- 中国国家标准 GB/T 24067-2024温室气体 产品碳足迹 量化要求和指南.pdf
- 三级公共营养师基础知识考试刷题(附答案).doc VIP
文档评论(0)