ll 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
目 录
论文总页数:28页
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.2 TCP协议 3
2.2.1 TCP/IP网络协议 3
2.2.2 TCP--传输控制协议 3
2.3 套接字 4
2.4 流 4
2.4.1 流的基本概念 4
2.4.2 .NET中的流 4
2.5 同步、异步、阻塞和非阻塞 5
2.6 C/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.CS 11
4.1.2 数据结构FriendStruct 12
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
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年代即