聊天程序参考资料.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
聊天程序参考资料 一、Windows Socket和套接口的基本概念 网际协议(In ternet Protocol, IP )是一种用于互联网的网络协议,已广为 人知。它可广泛用于大多数计算机操作系统上, 也可用于大多数局域网LAN (比 如办公室小型网络)和广域网 WAN (比如说互联网)。从它的设计看来,IP是 一个无连接的协议,并不能保证数据投递万无一失。两个上层协议(TCP和UDP) 依赖IP协议进行数据通信。 如果希望在Microsoft Windows下通过TCP和UDP协议建立网络应用程 序,则需要使用 Win sock套接口编程技术。 套接口,就是一个指向传输提供者的句柄。 Win32中,套接口不同于文件描 述符,所以它是一个独立的类型—— SOCKET。Windows Sockets描述定义了一 个Microsoft Windows的网络编程界面,它是从 Unix Socket的基础上发展而来 的,为 Windows TCP/IP提供了一个BSD型的套接字规范,除与 4.3BSD Unix Sockets完全兼容外,还包括一个扩充文件,通过一组附加的 A PI实现 Windows 式(即事件驱动)的编程风格;而 Win sock则是在Microsoft Win dows中进行网络 应用程序设计的接口。 Win dows在In ternet支配域中的 TCP/IP协议定义了 Win sock网络编程规范,融入了许多新特点。使用Socket的目的是使用户在网络 协议上工作而不必对该网络协议有非常深入的了解。此外,编写的程序还可被迅 速地移植到任何支持Socket的网络系统中去。 Win sock提供了一种可为指定传输协议打开、计算和关闭会话的能力。在 Win dows下,TCP/IP上层模型在很大程度上与用户的 Win sock应用有关;换言 之,用户的Win sock应用控制了会话的方方面面,必要时,还会根据程序的需要 格式化数据。 套接口有三种类型:流式套接口、数据报套接口及原始套接口。 流式套接口定义了一种可靠的面向连接的服务(利用 TCP协议),实现了无 差错无重复的顺序数据传输。数据报套接口定义了一种无连接的服务( UDP协 议),数据通过相互独立的报文进行传输,是无序的,并且不保证可靠和无差错。 原始套接口允许对低层协议如IP或ICMP直接访问,主要用于新的网络协议实 现的测试等。 面向连接服务器处理的请求往往比较复杂, 不是一来一去的请求应答所能解 决的,而且往往是并发服务器。使用面向连接的套接口编程,可以通过图1.1来 表示。 ra Li 无连接服务器一般都是面向事务处理的, 一个请求、一个应答就完成了客户 程序与服务程序之间的相互作用。 若使用无连接的套接口编程,程序的流程可以 用图1.2表示。 套接口工作过程如下:服务器首先启动,通过调用socket()建立一个套接口, 然后调用bind()将该套接口和本地网络地址联系在一起, 再调用listen()使套接口 做好侦听的准备,并规定它的请求队列的长度,之后,调用 accept(来接收连接。 客户在建立套接口后就可调用 connect()和服务器建立连接。连接一旦建立,客户 机和服务器之间就可以通过调用read()和write()来发送和接收数据。最后,待数 据传送结束后,双方调用close()关闭套接口。 在网络编程中,掌握端口的概念十分重要。端口 :基于 TCP/IP协议的网络 中,计算机都分配有一个IP地址,用一个32位二进制数来表示,正式的称呼是 “Ipv4地址”。客户机需要通过TCP或UDP和服务器通信时,必须指定服务器 的IP地址和服务端口号。另外,服务器打算侦听接入客户机请求时,也必须指 定图1.2 一个IP地址和一个端口号。在选择端口时,应特别小心,因为有些可 用端口号是为“已知的”(即固定的)服务保留的,如文件传输协议和超文本传 输协议,即FTP(21号端口)和HTTP (—般为8080端口)。“已知的协议”,即 固定协议,采用的端口由“互联网编号分配认证(IANA )”控制和分配,RFC1700 中说明的编号。 从本质上说,端口号可分成3类:“已知”端口、已注册端口、动态和(或) 私用端口。 ⑴“已知”端口 0~1023,由IANA控制,是在UNIX中为固定服务保留的。 ⑵已注册的端口 1024~49151,由IANA列出来的,供普通用户的普通用户 进程或程序使用。 ⑶ 动态和(或)私用端口 49152~65535。普通用户应用应选择1024~49151 之间的已注册端口,从而避免端口号已被另一个应用或系统服务所用。此外, 49152~65535间的端口可自由使用,因为 IANA这些端口上没有注册服务 阳].2 二、MFC对

文档评论(0)

136****3783 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档