欢迎来到天天文库
浏览记录
ID:20752372
大小:204.04 KB
页数:14页
时间:2018-10-15
《基于tcp协议的简单即时通信软件的设计与实现3》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于TCP协议的简单即时通信软件的设计与实现姓名:叶幸红学号:091401010070班级:09电气指导教师:何二宝基于TCP协议的简单即时通信软件的设计与实现摘要即时通信(InstantMessage),由于其具有实时性、跨平台性、成本低、效率高等优点而受到广泛的使用。设计并实现一个能够处理多用户进行实时、安全的即时通信系统具有较强的现实意义。即时通信的底层通信是通过SOCKET套接字接口实现的。当前的主流UNIX系统和微软的WINDOWS系统都在内核提供了对SOCKET字接口的支持。使用这个统一的接口,可以编写一
2、个可移植的TCP/IP通信程序。使信息能够在INTERNET上可靠的传输。本文设计并实现了基于局域网内的简单即时通信系统,系统采用C/S模式,底层通信通过SOCKET套接字接口实现,服务器负责客户端的登录验证,好友信息的保存和心跳报文的发送。客户端采用P2P方式实现消息传递,并能实现文件的传输。本文首先讨论了同步套接字,异步套接字,多线程并发执行任务等;然后阐述了客户端、服务器如何使用XML序列化的消息进行通信。引言1.1课题背景即吋通信是一个终端连往一个即吋通信网路的服务。即吋通信不同于e-mail在于它的交谈是实
3、时的。大部分的即时通信服务提供了presenceawareness的特性——显示联络人名单,联络人是否在在线与能否与联络人交谈。最早的即时通信软件是ICQ,ICQ是英文中Iseekyou的谐音,意思是我找你。四名以色列青年于1996年7月成立Mirabilis公司,并在11月份发布了最初的ICQ版本,在六个月内有85刀用户注册使用。在因特网上受欢迎的即时通信服务包含了MSNMessenger>AOLInstantMessenger、Yahoo!Messenger>NETMessengerService、Jabber、
4、ICQ与QQO这些服务有赖于许多想法更久的(与普遍)的在线聊天媒介,如InternetRelayChat一样知名。1970年代早期,一种更早的即吋通信形式是柏拉图系统(PLATOsystem)。之后在1980年代,UNIX/Linux的交谈实时信息被广泛的使用于工程师与学术界,1990年代即时通信更跨越了因特网交流。1996年11月,ICQ是首个广泛被非UNIX/Linux使用者用于因特网的即时通信软件。在ICQ的介绍之后,同时在许多地方有一定数量的即时通信方式发展,且各式的即时通信程序有独立的协议,无法彼此互通。这
5、引导使用荞同时执行两个以上的即时通信软件,或者他们可以使用支持多协议的终端软件,如Gaim、Trillian或Jabber。近年来,许多即时通信服务开始提供视讯会议的功能,网络电话(VoIP),与网络会议服务开始整合为兼有影像会议与实时信息的功能。于是,这些媒体的分别变的越来越模糊。1.2国内外研究现状1.1.1国外研究现状当今,国际上对网络通信系统研究的较好的公司有,思科,Sun,Ms等公司,思科主要研究的是底层的传输;MS,Sim公司研究的是应用层。其中ms公司凭借其在操作系统的垄断地位,为了在网络的发展巾取得先
6、机,采用了各种各样的手段。但是,其捆绑的msn,无论从功能上,还是技术上来说,都不算是非常先进的。当然,ie,同样也不是很受人青睐,这让人想起了,当年的网景公司,网景只是生不逢时。MS不择手段的想打跨网景,可见其对网络的重视。如今,Sun公司在网络应用上捷足先登,凭借着Java,Sun在网络的应用上领先于MS。微软,想用同样的办法搞跨对手,因此它拿出了Visualc#,來对抗Java。这些都是在应用层面的开发工具。应用层上的产品就更显种类繁多。ICQ几乎是国际上通用的即时通信工具,由于在我国它的应用不是很广,所以,其
7、原理也很少被介绍。msn,是MS的产品,同样在国内没什么市场,所以,对其原理,也很少被讨论过。至于ie,是在VisualC++下开发的产品,虽然有严重的安全隐患,不过,至少能在某种程度上代表当今国际研究的水平。此外,国际上最近出先了新的浏览器Firefox,其性能据说是远高于ie,也许在网络的天下,Ms又有了更强劲的对手。1.2.2国内研宄现状国内在应用层上的网络应用软件目前发展异常的火爆,因为我国有着网络应用的最大的市场,现在国内网络的基础性建设发展迅速,应用软件也层出不穷,其中,在游戏的领域中,网络通信的工作做的
8、不错,如联众游戏平台,还奋其他的一些平台,这些平台基本上都是基于VC++的,用的都是Socket通信,但是为了效率,这些平台没有用MFC提供的CSocket类,而是直接用Socket进行通信。所以效率上不错。此外,tencent的即时通信,也是做的很好的,从某中程度上来说,代表了国内最高的水平。1.3本课题研宄的意义本课题g标是实现局域网用户之
此文档下载收益归作者所有