- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
QQ聊天系统1引言1.1目的面向已完成计算机网络学习,懂得TCP协议
QQ聊天系统
1引言
1.1目的
面向已完成计算机网络学习,懂得TCP协议,有较好理论基础的本科高年级学生,熟悉Visual C++的基本操作,基本了解基于对话框的windows应用程序的编写过程,掌握Windows Socket编程,锻炼动手能力。
1.2阅读对象
本说明书的阅读对象有:信息类相关专业学生(通信工程,计算机应用技术等专业学生)等 。
2项目概述
2.1项目简介
本项目面向已完成计算机网络学习,懂得TCP协议,有较好理论基础的本科高年级学生,利用Visual C++中MFC完成QQ聊天的对话框处理,掌握Windows Socket的原理以及相应的处理方式。实现一个简单的QQ聊天系统,基本上具备以下内容:有聊天界面;支持同步通信;能实现一对一通信以及一对多通信。
2.2项目任务
项目名称:QQ聊天系统
项目内容:
1) 熟悉C++中MFC以及掌握TCP协议
2) 创建qq聊天界面,实现双向通信
3) 实现一对一聊天以及一对多聊天
项目周期: 1个月( 2014年*月*日—— 2014年*月*日)
参与人数: 1人。
2.3实验环境介绍
2.31 Windows Socket和套接口的基本概念
网际协议( Internet Protocol, IP)是一种用于互联网的网络协议,已经广为人知。它可广泛用于大多数计算机操作系统上,也可用于大多数局域网L A N(比如办公室小型网络)和广域网WAN(比如说互联网)。从它的设计看来,IP是一个无连接的协议,不能保证数据投递万无一失。两个上层协议(TCP和UDP)依赖IP协议进行数据通信。
如果希望在Microsoft Windows下通过TCP和UDP协议建立网络应用程序,需要使用Winsock套接口编程技术。
套接口,就是一个指向传输提供者的句柄。Win32中,套接口不同于文件描述符,所以它是一个独立的类型—SOCKET。Windows Sockets描述定义了一个Microsoft Windows的网络编程界面, 它是从Unix Socket 的基础上发展而来的,使用 Socket 的目的是使用户在网络协议上工作而不必对该网络协议有非常深入的了解。此外,这样编写的程序可被迅速移植到任何支持Socket的网络系统中去。 Winsock提供了一种可为指定传输协议打开、计算和关闭会话的能力。在Windows下,TCP/IP上层模型在很大程度上与用户的Winsock应用有关。换而言之,用户的Winsock应用控制了会话的方方面面,必要时,还会根据程序的需要格式化数据。
套接口有三种类型:
流式套接口,。,。,,,。IP或ICMP直接访问,。,
套接口工作过程如下:服务器首先启动,通过调用socket()建立一个套接口,bind()将该套接口和本地网络地址联系在一起,listen()使套接口做好侦听的准备,,accept()来接收连接。connect()和服务器建立连接。,read()和write()来发送和接收数据。,,close()关闭套接口。
图1-1:面向连接套接口的通信过程
在网络编程中,掌握端口的概念十分重要
关于端口:基于TCP/IP协议的网络中,计算机都分配有一个I P地址,用一个3 2位二进制数来表示,正式的称呼是“ I P v 4地址”。客户机需要通过T C P或U D P和服务器通信时,必须指定服务器的I P地址和服务端口号。另外,服务器打算侦听接入客户机请求时,也必须指定一个I P地址和一个端口号。在选择端口时,应用必须特别小心,因为有些可用端口号是为“已知的”(即固定的)服务保留的(比如说文件传输协议和超文本传输协议,即FTP(21号端口)和HTTP(一般为8080端口)。“已知的协议”,即固定协议,采用的端口由“互联网编号分配认证(IANA)”控制和分配,RFC 1700中说明的编号。从本质上说,端口号分为下面这三类:“已知”端口、已注册端口、动态和(或)私用端口。
“已知“端口0~1023由IANA控制,是在UNIX中为固定服务保留的。
已注册的端口1024~49151是IANA列出来的,供普通用户的普通用户进程或程序使用。
49152~65535是动态和(或)私用端口。
普通用户应用应该选择1024~49151之间的已注册端口,从而避免端口号已被另一个应用或系统服务所用。此外,49152~65535间的端口可自由使用,因为IANA这些端口上没有注册服务。
到1992年为止,人们所熟知的端口号介于1-255之间。256-1023之间的端口号通常都是由Unix系统占用,以提供一些特定的Unix服务。现在IANA管理1-1023之间所有的端口号。
Internet扩展服务与Unix特定服
文档评论(0)