- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于TCP协议的网络通信系统的设计与实现
摘??要?:网络通信,由于其具有实时性、跨平台性、成本低、效率高等优点而受到广泛的使用。设计并实现一个能够处理多用户进行实时、安全的即时通信系统具有较强的现实意义。即时通信的底层通信是通过SOCKET套接字接口实现的。当前的主流UNIX系统和微软的WINDOWS系统都在内核提供了对SOCKET字接口的支持。使用这个统一的接口,可以编写一个可移植的TCP/IP通信程序。使信息能够在INTERNET上可靠的传输。?
本文设计并实现了基于局域网内的简单即时通信系统,系统采用C/S模式,底层通信通过SOCKET套接字接口实现,服务器负责客户端的登录验证,好友信息的保存和心跳报文的发送。客户端采用P2P方式实现消息传递,并能实现文件的传输。本文首先讨论了同步套接字,异步套接字,多线程并发执行任务等;然后阐述了客户端、服务器如何使用XML序列化的消息进行通信。
关键词:即时通信;文件传输;套接字;TCP协议
Abstract?:Instant?messages?have?several?advantages?such?as?real-time,?cross-platform,?cheap?and?efficient.?To?design?a?Multi-user?IM?(instant?message)?architecture?is?very?important?in?both?theory?and?realism.?Instant?message?based?on?TCP/IP?protocol?that?is?realized?by?socket?interface.?Almost?all?UNIX?operation?systems?and?Microsofts?windows?operation?systems?provide?support?of?socket?in?the?kernel.?Using?the?uniform?interface,?we?can?develop?a?portable?program?of?TCP/IP,?which?help?us?transfer?information?in?Internet?safely?and?credibly.?
The?system?uses?the?client/server(C/S)?mode.?The?server?takes?the?responsibility?of?the?login?message?of?client,?the?saving?of?friend?message?and?Message?heartbeat.?The?transmission?of?the?basic?messages?of?the?customer?end?will?be?designed?on?P2P?architecture.?This?thesis?explains?how?the?client?and?server?communicate?via?serializing?XML?message.
Key?words:??Instant?Message;?File?Transfer;?Socket;?TCP?protocol?
引言?
1.1??课题背景?
即时通信是一个终端连往一个即时通信网路的服务。即时通信不同于e-mail在于它的交谈是实时的。大部分的即时通信服务提供了presence?awareness的特性──显示联络人名单,联络人是否在在线与能否与联络人交谈。?
最早的即时通信软件是ICQ,ICQ是英文中I?seek?you的谐音,意思是我找你。四名以色列青年于1996年7月成立Mirabilis公司,并在11月份发布了最初的ICQ版本,在六个月内有85万用户注册使用。?
在因特网上受欢迎的即时通信服务包含了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的介绍之后,同时在许多地方有一定数量的即时通信方式发展,且各式的即时通信
文档评论(0)