基于Socket的多线程聊天系统

上传人:s9****2 文档编号:511628962 上传时间:2023-06-04 格式:DOC 页数:63 大小:1.03MB
返回 下载 相关 举报
基于Socket的多线程聊天系统_第1页
第1页 / 共63页
基于Socket的多线程聊天系统_第2页
第2页 / 共63页
基于Socket的多线程聊天系统_第3页
第3页 / 共63页
基于Socket的多线程聊天系统_第4页
第4页 / 共63页
基于Socket的多线程聊天系统_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《基于Socket的多线程聊天系统》由会员分享,可在线阅读,更多相关《基于Socket的多线程聊天系统(63页珍藏版)》请在金锄头文库上搜索。

1、本科生毕业设计(论文)基于Socket的多线程聊天系统摘 要网络通讯是目前计算机用户进行交流最普遍的方式,各种各样的聊天软件也层出不穷;服务提供商也提供了越来越丰富的通讯服务功能。本文介绍了在Windows环境下开发局域网聊天程序思路和方法。系统使用流行的.NET开发软件,采用Socket技术实现网络通讯。数据库使用SQLServer2005。系统采用典型的C/S(服务器/客户端)构架。系统主要实现了用户注册、登录、聊天、服务器管理等功能。本系统从需求分析、系统的设计、具体功能的实现都严格遵循了软件工程的思想。关键词:Socket;TCP/IP ;C/S ;The Implementation

2、 of Chatting ProgramAbstractNetwork is the most popular way of communication between computer users, therefore a lot of chatting softwares come out; on the other hand, more communication services are provided by the ISP. This paper introduces the ideas and methods of LAN chatting program which are d

3、eveloped on Windows. This system is developed by the .NET software, and uses the Socket technology to implement network communications. Database using SQLServer2005. Software is based on C/S architecture. The system mainly implements the functions of user registration, login, chatting, server manage

4、ment etc. From requirement analysis, outline design, detailed design to coding, function test, the implementation of the function in this essay absolutely follow the process of the software development.Key phrase: Socket; TCP/IP; C/S;目录第1章绪论11.1 引言11.2设计思想11.3开发工具和相关技术简介11.3.1 SQL server 2005简介11.3.

5、2 即时通信系统(IM)21.3.3 Socket21.3.4 TCP/IP21.4系统开发环境的选择3第2章 需求概述42.1 功能需求42.2 条件与限制52.3 ER图的设计5第3章 聊天系统的总体设计73.1处理流程73.1.1服务端按系统层次图83.1.2服务端按服务启动/关闭子系统层次图83.1.3服务端详细系统处理流程93.1.4客户端与服务端详细系统处理流程10第4章 数据库设计114.1数据库设计说明11第5章 SOCKET多线程系统的运行情况155.1服务端界面的总体设计155.2服务端界面的总体设计16结 论33致 谢34参考文献35附录A 译文36附录B 外文原文.48

6、33第1章绪论1.1 引言随着社会的发展、科技的进步、互联网的高速发展,计算机在各个领域中都得到了广泛的应用。计算机正在潜移默化的改变着我们的生活。现在随着Internet的飞速发展,信息时代的到来引发了一场知识和信息革命,计算机和现代网络技术的广泛应用极大地促进了社会经济的发展,同时也带来了一些新兴产业的发展,比如聊天室。聊天事已经慢慢成为人们生活的一部分,呈现出良好的势头和广阔的发展前景。网络聊天室是一个通过国际互联信息网络进行多人通讯的一个系统。在这个信息极其发达的时代,我们目前可以用来进行信息交流的方法也有非常多,比如电报、电话、电子邮件、OICQ等等通讯手段,但是这些或者不方便或者有

7、局限性或者有费用的问题。但是,聊天室这个就能很好的解决这个问题,人与人之间的对话不再是局限在面对面的方式,网络聊天室提供交流信息的另一种场所。本系统利用.NET(C#)+ Socket构建网络聊天室,后台利用SQLServer2005数据库建立网站后端数据源;这样才能更好的为用户体验,才能在这个涌动的社会中加强联系,创造出更多的财富。1.2设计思想 在互联网上,传统的网站或用户都使用类似于Email(电子邮件)的形式互相发送信息来进行一系列的交流.但这种异步交互的办事效率可见是很低的.为提高效率,让用户之间能达到实时交互的目的,所以出现了可以实时交流信息的聊天室,来满足用户的需求.1.3开发工

8、具和相关技术简介1.3.1 SQL server 2005简介SQL Server 2005 是一个杰出的数据库平台,可用于大型联机事务处理数据仓库以及电子商务等,特别是对XML,HTTP 的支持,以及在WEB ,数据仓库服务中的应用,而且存取运行速度远远高于 Access 等小型数据库. 所以很适合用于实时性要求比较高的应用程序, 本聊天室因为实时性要求比较高,所以使用SQL server2005 作为数据库,以获得高效的性能.1.3.2 即时通信系统(IM)即时通信系统(IM,Instant Messager)是我们开发的一款跨平台(Linux Server,Windows Server)

9、,可定制的 P2P 即时通信系统(集成多人视频会议功能),为各行业门户网站和企事业单位提供“一站式”定制解决方案,打造一个稳定,安全,高效,可扩展的即时通信系统,在用户使用习惯的设计上接近或兼容 MSN,TM,贸易通和淘宝旺旺等即时通讯产品。目前已经发展为功能全面,高性能,高稳定成熟的可定制即时通讯系统(集成多人视频会议功能),在国内行业网站应用领域处于领先地位,广泛部署在各行业门户网站(政府和企业),为会员提供优质的个性化的定制服务。1.3.3 SocketSocket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发 TCP/IP网络上的应用程序。

10、要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话, 就很容易了解Socket了。网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。 Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。常用的Socket类型有两种:流式Socket(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。流式是一种面向连接的Socket

11、,针对于面向连接的TCP服务应用;数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用。1.3.4 TCP/IPTCP:Transmission Control Protocol 传输控制协议TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议,由IETF的RFC 793说明(specified)。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,UDP是同一层内另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机

12、的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。TCP所提供服务的主要特点(1)面向连接的传输;(2)端到端的通信;(3)高可靠性,确保传输数据的正确性,不出现丢失或乱序;(4)全双工方式传输;(5)采用字节流方式,即以字节为单位传输字节序列;(6)紧急数据传送功能。1.4系统开发环境的选择系统开发环境分硬件环境和软件环境两部分,程序对系统的要求不是很高,因此选择以下的开发环境即可。硬件环境:CPU:Pentium 586 以上内存:521M 以上显存: 128M硬盘:200M空闲软件环境:操作系统:Microsoft Windows xp/

13、vist/win7Microsoft visual studio 2008Microsoft SQL Server 2005第2章 需求概述2.1 功能需求系统层次图,如图2.1.1:EasyTalk服务端管理员登陆服务启动/关闭服务记录退出并保存当前记录群发通知2222.1.1IIS 提供的基本服务:不2图2.1.1服务启动/关闭子系统层次,如图2.1.2服务启动/关闭客户登录服务客户注册服务客户查询服务客户资料修改服务好友添加/删除服务好友类服务任意聊天室服务固定聊天室服务固定聊天室创建/删除服务文件传输服务服务记录子系统层次图,如图2.1.3图2.1.22.2 条件与限制本系统要求计算机

14、上要装了TCP/IP的网络通讯协议。2.3 ER图的设计概念结构是独立于任何一种数据模型的,在实际应用中,一般所用的数据库环境已经给定(如SQL Server或Oracel或MySql或Access),在此,我们需要从概念结构转换到逻辑结构。由于目前使用的数据库基本上都是关系数据库,因此首先需要将E-R图转换为关系模型,然后根据具体DBMS的特点和限制转换为特定的DBMS支持下的数据模型,最后进行优化。构成E-R图的基本要素是实体型、属性和联系,其表示方法为: 实体型(Entity):具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体;在E-R图中用矩形表示,矩

15、形框内写明实体名;比如学生张三丰、学生李寻欢都是实体。如果是弱实体的话,在矩形外面再套实线矩形。 属性(Attribute):实体所具有的某一特性,一个实体可由若干个属性来刻画。在E-R图中用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。如果是多值属性的话,再椭圆形外面再套实线椭圆。如果是派生属性则用虚线椭圆表示。 联系(Relationship):联系也称关系,信息世界中反映实体内部或实体之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。在E-R图中用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。 比如老师给学生授课存在授课关系,学生选课存在选课关系。如果是弱实体的联系则在菱形外面再套菱形。做E-R

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号