没有合适的资源?快使用搜索试试~ 我知道了~
基于TCP的CS模式程序设计.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 31 浏览量
2022-07-02
17:13:28
上传
评论
收藏 617KB PDF 举报
温馨提示
试读
16页
基于TCP的CS模式程序设计.pdf基于TCP的CS模式程序设计.pdf基于TCP的CS模式程序设计.pdf基于TCP的CS模式程序设计.pdf基于TCP的CS模式程序设计.pdf基于TCP的CS模式程序设计.pdf基于TCP的CS模式程序设计.pdf基于TCP的CS模式程序设计.pdf
资源推荐
资源详情
资源评论
哈 尔 滨 理 工 大 学
课 程 设 计
题 目: 基于 TCP 的 CS 模式程序设计
院 系: 计算机科学与技术学院 网络工程系
班 级: 网络 11-2 班
学 号:
姓 名:
同组成员:
指导教师:
成 绩:
2014 年 06 月 27 日
一.系统设计的目标
1.1 选题目的和意义
在 Windows 操作系统下,使用 Socket 编程实现两个进程之间的通信,两个进
程间使用 TCP 建立可靠连接,熟悉 TCP 协议以及套接字编程原理;两个进程间
使用 C/S 工作模式,在此结合并发服务器原理,实现服务器同时与多进程之间进
行通信,深入了解 C/S 工作模式。
TCP 是传输层的应用协议,可通过多方面来保证数据传输的可靠性,它采用
了停止等待方式来回应数据的接收,只有当接收到数据时,用户才发送数据确认
报文,同时此协议使用滑动窗口方法来控制网络拥塞,提高数据传输的可靠性。
基于 TCP/IP 协议和套接字编程原理为服务器端完成基本数据配置,主要采
用套接字编程原理,通过调试运行并且经过完善后,实现并发服务器的功能。在
这次课程设计的过程中,对于网络编程有了更深一步的了解。首先是对于计算机
网络基础这方面,对于网络体系中的几种分层方法,每层的作用都由了系统的理
解,特别是对于 Socket 编程这一块,套接字的创建、绑定以及使用,基于TCP、
UDP 的编程以及并发服务器的原理都有了深一步的理解,这次课程设计对于以
后进行网络的开发有很大的帮助。
即时通信(Instant Message),由于其具有实时性、跨平台性、成本低、效率
高等优点而受到广泛的使用。设计并实现一个能够处理多用户进行实时、安全的
即时通信系统具有较强的现实意义。即时通信的底层通信是通过 SOCKET 套接
字接口实现的。当前的主流 UNIX 系统和微软的 WINDOWS 系统都在内核提供
了对 SOCKET 字接口的支持。使用这个统一的接口,可以编写一个可移植的
TCP/IP 通信程序。使信息能够在 INTERNET 上可靠的传输。 本文设计并实现
了基于局域网内的简单即时通信系统,系统采用 C/S 模式,底层通信通过
SOCKET 套接字接口实现,服务器负责客户端的登录验证,好友信息的保存和
心跳报文的发送。客户端采用 P2P 方式实现消息传递,并能实现文件的传输。
本文首先讨论了同步套接字,异步套接字,多线程并发执行任务等;然后阐述了
客户端、服务器如何使用 XML 序列化的消息进行通信。
本课题目标是实现局域网用户之间的即时交流和文件传输,通过基础的网络
SOKET 编程,为局域网内部的即时通信提供一个简单而较安全的解决方案。
1.2 题目开发背景
即时通信是一个终端连往一个即时通信网路的服务。即时通信不同于 e-mail
在于它的交谈是实时的。大部分的即时通信服务提供了 presence awareness 的特
性──显示联络人名单,联络人是否在在线与能否与联络人交谈。
最早的即时通信软件是 ICQ,ICQ 是英文中 I seek you 的谐音,意思是我找你。
四名以色列青年于 1996 年 7 月成立 Mirabilis 公司,并在 11 月份发布了最初的
ICQ 版本,在六个月内有 85 万用户注册使用。
1
在 因 特 网 上 受 欢 迎 的 即 时 通 信 服 务 包 含 了 MSN Messenger 、
AOL Instant Messenger、Yahoo! Messenger、NET Messenger Service、Jabber、ICQ
与 QQ 。 这些服务 有赖于许多想法更久 的 ( 与普遍 ) 的在线 聊 天媒介,如
Internet Relay Chat 一样知名。
1970 年代早期,一种更早的即时通信形式是柏拉图系统(PLATO system)。之后
在 1980 年代,UNIX/Linux 的交谈实时信息被广泛的使用于工程师与学术界,1990
年代即时通信更跨越了因特网交流。 1996 年 11 月, ICQ 是首个广泛被非
UNIX/Linux 使用者用于因特网的即时通信软件。在 ICQ 的介绍之后,同时在许
多地方有一定数量的即时通信方式发展,且各式的即时通信程序有独立的协议,
无法彼此互通。这引导使用者同时执行两个以上的即时通信软件,或者他们可以
使用支持多协议的终端软件,如 Gaim、Trillian 或 Jabber。
近年来,许多即时通信服务开始提供视讯会议的功能,网络电话(VoIP),与网
络会议服务开始整合为兼有影像会议与实时信息的功能。于是,这些媒体的分别
变的越来越模糊。
1.2 国内外研究现状
1.2.1 国外研究现状
当今,国际上对网络通信系统研究的较好的公司有,思科,Sun,Ms 等公司,
思科主要研究的是底层的传输;MS,Sun 公司研究的是应用层。其中 ms 公司凭
借其在操作系统的垄断地位,为了在网络的发展中取得先机,采用了各种各样的
手段。但是,其捆绑的 msn,无论从功能上,还是技术上来说,都不算是非常先
进的。当然,ie,同样也不是很受人青睐,这让人想起了,当年的网景公司,网
景只是生不逢时。MS 不择手段的想打跨网景,可见其对网络的重视。如今,Sun
公司在网络应用上捷足先登,凭借着 Java,Sun 在网络的应用上领先于 MS。微
软,想用同样的办法搞跨对手,因此它拿出了Visual c#,来对抗 Java。这些都是
在应用层面的开发工具。应用层上的产品就更显种类繁多。ICQ 几乎是国际上通
用的即时通信工具,由于在我国它的应用不是很广,所以,其原理也很少被介绍。
msn,是 MS 的产品,同样在国内没什么市场,所以,对其原理,也很少被讨论
过。至于 ie,是在 Visual c++下开发的产品,虽然有严重的安全隐患,不过,至
少能在某种程度上代表当今国际研究的水平。此外,国际上最近出先了新的浏览
器 Firefox,其性能据说是远高于 ie,也许在网络的天下,Ms 又有了更强劲的对
手。
1.2.2 国内研究现状
国内在应用层上的网络应用软件目前发展异常的火爆,因为我国有着网络应用
的最大的市场,现在国内网络的基础性建设发展迅速,应用软件也层出不穷,其
中,在游戏的领域中,网络通信的工作做的不错,如联众游戏平台,还有其他的
一些平台,这些平台基本上都是基于 VC++的,用的都是 Socket 通信,但是为了
效率,这些平台没有用 MFC 提供的 CSocket 类,而是直接用 Socket 进行通信。
所以效率上不错。此外,tencent 的即时通信,也是做的很好的,从某中程度上
来说,代表了国内最高的水平。
2
1.3 TCP/IP 体系结构
TCP/IP 的中文译名为传输控制协议/网际协议,又叫网络通讯协议,这个协
议是 Internet 最基本的协议,Internet 国际互联网络的基础,简单地说,就是
由网络层的 IP 协议和传输层的 TCP 协议组成的。
TCP/IP 协议并不完全符合 OSI 的七层参考模型。传统的开放式系统互连参考
模型,是一种通信协议的七层抽象的参考模型,其中每一层执行某一特定任务。
该模型的目的是使各种硬件在相同的层次上互相通信。这七层是:物理层、数据
链路层、网络层、传输层、会话层、表示层和应用层。而 TCP/IP 通讯协议采用
了四层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求,
如下图所示。
图 1 计算机网络体系结构
应用层:应用程序间沟通的层,如简单电子邮件传输( SMTP),文件传输协
议(FTP),网络远程访问协议(Telnet)等。
传输层:在此层中,它提供了节点间的数据传送,应用程序之间的通信服务,
主要功能是数据格式化,数据确认和丢失、重传等。如传输控制协议(TCP),用
户数据报协议(UDP)等,TCP 和 UDP 给数据包加入传输数据并把它传输到下一
层中,这一层负责传送数据,并且确定数据已被传送并到达接收。
网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目
的主机(但不检查是否正确而接收),如网际协议(IP)。
网络接口层:接收 IP 数据包并进行传输,从网络上接收物理帧,抽取 IP 数
据报转交给上一层,对实际的网络媒体的管理,定义如何使用实际网络(如
Ethernet)来传送数据。
1.4 TCP 传输
3
剩余15页未读,继续阅读
资源评论
若♡
- 粉丝: 6117
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功