当前位置: 网学 > 网学资源大全 > 计算机 > 正文

基于TCP协议的简单即时通信软件的设计与实现

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: admin 发布时间: 13/09/05
【网学提醒】:本文主要为网上学习者提供基于TCP协议的简单即时通信软件的设计与实现,希望对需要基于TCP协议的简单即时通信软件的设计与实现网友有所帮助,学习一下吧!

资料包括: 论文(33页11573字) 
说明:

摘 要:即时通信(Instant Message),由于其具有实时性、跨平台性、成本低、效率高等优点而受到广泛的使用。设计并实现一个能够处理多用户进行实时、安全的即时通信系统具有较强的现实意义。即时通信系统的底层通信是通过SOCKET套接字接口实现的。当前的主流UNIX系统和微软的WINDOWS系统都在内核提供了对SOCKET字接口的支持。使用这个统一的接口,可以编写一个可移植的TCP协议通信程序。使信息能够在INTERNET上可靠的传输。
本文设计并实现了基于局域网内的简单,系统采用C/S模式,底层通信通过SOCKET套接字接口实现,服务器负责客户端的登录验证,好友信息的保存和心跳报文的发送。客户端采用P2P方式实现消息传递,并能实现文件的传输。本文首先讨论了同步套接字,异步套接字,多线程并发执行任务等;然后阐述了客户端、服务器如何使用XML序列化的消息进行通信。

关键词:即时通信;文件传输;套接字;TCP协议


The Design and Implementation of Simple Instant Message Software Based on TCP Protocol
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 Microsoft''s 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.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的介绍之后,同时在许多地方有一定数量的即时通信方式发展,且各式的即时通信程序有独立的协议,无法彼此互通。这引导使用者同时执行两个以上的即时通信软件,或者他们可以使用支持多协议的终端软件,如Gaim、Trillian或Jabber。
近年来,许多即时通信服务开始提供视讯会议的功能,网络电话(VoIP),与网络会议服务开始整合为兼有影像会议与实时信息的功能。于是,这些媒体的分别变的越来越模糊。

目录:
1引言1
1.1课题背景1
1.2国内外研究现状1
1.2.1国外研究现状1
1.2.2国内研究现状2
1.3本课题研究的意义2
1.4本课题的研究方法2
2相关技术介绍2
2.1.NET开发平台及C#.NET开发语言2
2.2TCP协议3
2.2.1TCP/IP网络协议3
2.2.2TCP——传输控制协议3
2.3套接字4
2.4流4
2.4.1流的基本概念4
2.4.2.NET中的流4
2.5同步、异步、阻塞和非阻塞5
2.6C/S模型5
2.7即时通信协议6
3系统总体设计7
3.1需求分析7
3.2系统基本架构7
3.3功能模块设计7
3.4逻辑图9
3.5数据库设计10
3.5.1实体关系图10
3.5.2详细列表10
4系统实现11
4.1使用XML定义的即时通信协议11
4.1.1信息结构MESSAGE.CS&UMESSAGE.CS11
4.1.2数据结构FriendStruct12
4.2数据库连接类14
4.3服务器端15
4.3.1同步套接字网络监听15
4.3.2多线程19
4.3.3计时器19
4.4客户端20
4.4.1同步套接字客户端20
4.4.2采用异步套接字的文件传输23
结 论25
参考文献26
致 谢27
声 明28
参考文献:
Tobin. Titus, Fabio Claudio Ferracchiati. C#线程参考手册[M].王敏译.北京:清华大学出版社,2003。
黄承安,谢东文,许聪. C#网络应用案例导航[M].北京:中国铁道出版社,2003。
Andrew Krowczyk, vinod Kumar. .NET网络高级编程[M].北京:清华大学出版社,2003。
周存杰. Visual C# .NET网络核心编程[M].北京:清华大学出版社,2002。
方睿,吴四九,刁仁宏. 网络数据库原理及应用[M].四川:四川大学出版社,2005。
李文志,申剑,卢方国,柳正青,王宏,陈建伟. 在.NET框架下开发一个即时通信系统[J].现代计算机.2004(2):68-72。
王跃. INTERNET上大规模用户即时通信方法研究[D].北京:北京工业大学[硕士论文],2004。

作者点评:
即时通信是是网络发展的必然趋势,它的技术仍然在不断的改进和蓬勃发展中。本次设计虽然实现了简单的即时通信功能,但是从很多方面来说都是不完善的:实现了字符聊天却没有实现多媒体即时通信;实现了同步套接字聊天和异步套接字传送文件却没有实现更科学的异步套接字聊天和同步套接字传送文件。
在本次设计中,我深刻体会到SOCKET编程的基础性,多样化。由于与网络紧密联系,SOCKET编程的也可能出现各种未知的问题,需要我们更深入地了解网络协议和架构,才可能做出通用性高,稳定性高的即时通信程序
  • 上一篇资讯: 基于C/S结构的企业人事管理系统的设计与实现
  • 下一篇资讯: 基于ASP.NET公司网站的设计与实现
  • 相关资讯

    网学推荐

    免费论文

    原创论文

    文章排行榜

    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号