基于P2P架构的简单聊天程序的设计与实现(论文)
- 格式:doc
- 大小:441.00 KB
- 文档页数:57
山东英才学院毕业论文(设计)论文(设计)题目:网络聊天系统的设计与实现二级学院:计算机学院学科专业:计算机应用技术英才学院教务处制毕业论文(设计)容介绍网络聊天系统的设计与实现目录摘要 (4)ABSTRACT (5)前言 (6)一、聊天系统的运行开发环境 (7)1.1硬件环境 (7)1.2软件环境 (9)二、走进UDP协议 (10)2.1UDP的定义 (10)2.2UDP的组成 (10)三、利用VB语言设计网络聊天系统 (13)3.1创建服务器 (13)3.2创建客户 (14)3.3进行通信 (15)四、网络聊天软件的验证 (16)总结 (18)辞 (19)参考文献 (20)附录 (21)摘要本文主要描述了如何利用汇编语言编写一个能够实现网络之间信息传递的聊天程序系统.并介绍了无连接协议的SOCKET编程模型,以及阐述了聊天程序的设计目的前景和具体规划,还有聊天程序的商业运作.本论文共分为五部分.第一部分简单的分析了即时聊天系统开发的可行性,并重点对技术可行性(选择VB)做了详细分析;第二部分借助数据流图和数据字典对系统的功能和性能进行了详细的需求分析,建立了系统的逻辑结构;第三部分利用VB程序设计了UDP聊天程序;第四部分验证了设计的程序;第五部分是此次设计的结论总结及部分参考文献和附录。
关键字:Winsock 即时通讯点对点数据流图数据字典结构图层次输入输出处理图伪码AbstractThis paper describes how to use assembly language to achieve the preparation of a network of transmitting information between the chat program system.also is now the network rapid development result.The present paper altogether divides into five parts.The first part of simple analysis this immediate communication system development feasibility, and key (chose VB) to the technical feasibility to make the multianalysis;The second part has carried on the detailed demand analysis with the aid of the data flow graph and the data dictionary to the system function and the performance, has established the system logical organization;The third part chatted the procedure using VB programming UDP;The fourth part has confirmed the design procedure;Finally is this design conclusion summary and the part reference and the appendix.Key Word: Winsock immediate communication point-to-point, data flow graph data dictionary structure drawing level input output processing chart pseudo-code VB前言随着计算机网络日新月异的发展,人们的交流方式越来越多,传统的交流方式,如:信件、电报、等已经难以满足人们的交流要求,在互联网上即时的和好友取得联系,已经成为当今社会人们主流的联系方式。
P2P通信原理与实现(C++),NAT,网络穿透原理1.简介当今互联网到处存在着一些中间件(MIddleBoxes),如NAT和防火墙,导致两个(不在同一内网)中的客户端无法直接通信。
这些问题即便是到了IPV6时代也会存在,因为即使不需要NAT,但还有其他中间件如防火墙阻挡了链接的建立。
当今部署的中间件大多都是在C/S架构上设计的,其中相对隐匿的客户机主动向周知的服务端(拥有静态IP地址和DNS名称)发起链接请求。
大多数中间件实现了一种非对称的通讯模型,即内网中的主机可以初始化对外的链接,而外网的主机却不能初始化对内网的链接,除非经过中间件管理员特殊配置。
在中间件为常见的NAPT的情况下(也是本文主要讨论的),内网中的客户端没有单独的公网IP 地址,而是通过NAPT转换,和其他同一内网用户共享一个公网IP。
这种内网主机隐藏在中间件后的不可访问性对于一些客户端软件如浏览器来说并不是一个问题,因为其只需要初始化对外的链接,从某方面来看反而还对隐私保护有好处。
然而在P2P应用中,内网主机(客户端)需要对另外的终端(Peer)直接建立链接,但是发起者和响应者可能在不同的中间件后面,两者都没有公网IP地址。
而外部对NAT公网IP和端口主动的链接或数据都会因内网未请求被丢弃掉。
本文讨论的就是如何跨越NAT实现内网主机直接通讯的问题。
详解,网络穿透,P2P,打洞的核心原理视频讲解:「链接」P2P丨网络穿透与NAT原理分析:「链接」2.术语防火墙(Firewall):防火墙主要限制内网和公网的通讯,通常丢弃未经许可的数据包。
防火墙会检测(但是不修改)试图进入内网数据包的IP地址和TCP/UDP端口信息。
网络地址转换器(NAT):NAT不止检查进入数据包的头部,而且对其进行修改,从而实现同一内网中不同主机共用更少的公网IP(通常是一个)。
基本NAT(Basic NAT):基本NAT会将内网主机的IP地址映射为一个公网IP,不改变其TCP/UDP端口号。
基于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 a nd efficient. To design a Multi-user IM (instant message) architecture is very importan t in both theory and realism。
Instant message based on TCP/IP protocol that is realiz ed by socket interface。
Almost all UNIX operation systems and Microsoft's window s operation systems provide support of socket in the kernel. Using the uniform interfa ce, we can develop a portable program of TCP/IP, which help us transfer informatio n in Internet safely and credibly。
t褥,一络。
一麓嚣基于P2P技术的局域网即时通讯软件教学设计应用◆方挺【摘要】计算机对等网络(PEP)技术是目前网络技术的研究热点。
本文根据教学需要设计一套即时通讯软件,原理简单,成本低,易于实现。
我们从P2P技术的基本概念、应用范围和技术特点进行分析,并介绍了网络模型设计和系统结构模型设计。
从而方便大家了解其P2P技术,实现其教学功能,并很好地向实际推广应用。
【关键词】P2P局域网TC P/I P U D P即时通讯一、P2P技术1.P2P技术介绍P2P是英文pe er—t o—pee r的缩写,pe er在英语里有。
(地位、能力等)同等者”、。
同事”和。
伙伴”等意义,因此.P2P可以理解为对等网、点对点等。
现在,P2P软件技术在互联网上得到广泛应用。
除了网上即时通讯软件之外,P2P在共享音乐和软件下载等方面的应用也很多,如P P Li ve网络电视软件、多媒体影音分享工具PO CO软件、BT下载、迅雷下载、eM ul e----电驴等软件均属于P2P软件。
在互联网应用中,P2P是一种技术,同时也是一种思想。
它是一种充分发挥整个互联网基础潜能的思想。
P2P使得互联网络上的沟通变得容易、更直接共享和交互,真正地消除中间环节。
使人们可以直接连接到其他用户的计算机进行文件交换,而不是像过去那样必须连接到服务器去浏览与下载。
P2P技术的局域网即时通讯软件的设计应用主要是实现同在一个局域网内的每个用户之间进行即时通讯。
即聊天、文件传输等功能。
它是一个建立在纯P2P模型下的即时通讯软件。
所以完全不需要服务器支持就可以进行点对点通讯,使用起来非常方便。
它采用了U D P网络的传输协议进行底层的消息传送,在此基础上用广播消息实现上下线提示。
该软件同时采用TC P网络的传输协议进行文件传输和建立可靠的文字聊天。
2.P2P技术产生的背景P2P不是一个新概念,在互联网产生初期,一个本质的特征就是P2P,只不过由于带宽及处理能力等的限制.使得我们的沟通中出现了很多的中间环节,如中间服务器、门户网站、第三方信息(交易)平台等。
点对点聊天和文件传输程序摘要本程序使用VB语言编程,使用WinSock控件完成的点对点(P2P)聊天和文件传输程序。
可以实现两台机器间互发消息,并且有聊天和文件传输记录,安全可靠。
关键词p2p WinSock,聊天和文件传输程序,VB目录第一章开发背景 (3)1.1P2P的概念 (3)1.2P2P的思想溯源 (5)1.3P2P内容转移到“边缘” (7)1.4重新解读P2P (9)第二章开发环境及实现技术 (12)2.1开发环境 (12)2.2开发工具简介 (12)第三章系统设计 (14)3.1概要设计 (14)3.2详细设计 (15)第四章系统的实现 (17)4.1主界面的实现 (17)4.2点对点聊天模块的实现 (20)4.2.1服务器端子模块的实现 (20)4.2.2客户端子模块的实现 (23)4.3点对点文件传输模块的实现 (26)4.3.1服务器端子模块的实现 (26)4.3.3客户端子模块的实现 (31)4.4上网功能模块的实现 (35)设计心得 (38)参考文献 (39)第一章开发背景P2P是一种技术,但更多的是一种思想,有着改变整个互联网基础的潜能的思想。
1.1p2p的概念P2P是peer-to-peer的缩写,peer在英语里有“(地位、能力等)同等者”、“同事”和“伙伴”等意义。
这样一来,P2P也就可以理解为“伙伴对伙伴”的意思,或称为对等联网。
目前人们认为其在加强网络上人的交流、文件交换、分布计算等方面大有前途。
简单的说,P2P直接将人们联系起来,让人们通过互联网直接交互。
P2P 使得网络上的沟通变得容易、更直接共享和交互,真正地消除中间商。
P2P 就是人可以直接连接到其他用户的计算机、交换文件,而不是像过去那样连接到服务器去浏览与下载。
P2P另一个重要特点是改变互联网现在的以大网站为中心的状态、重返“非中心化”,并把权力交还给用户。
P2P 看起来似乎很新,但是正如B2C、B2B是将现实世界中很平常的东西移植到互联网上一样,P2P并不是什么新东西。
第30卷 第3期 吉林大学学报(信息科学版) Vol.30 No.32012年5月 Journal of Jilin University(Information Science Edition) May 2012文章编号:1671-5896(2012)03-0315-06局域网中P2P即时通讯工具的设计与实现龙 波,柳 继(沈阳广播电视大学现代教育技术中心,沈阳110003)摘要:为实现局域网环境中的即时通讯,方便局域网用户的资源共享,设计并实现局域网用户的即时语音通讯工具。
该软件的网络通信采用TCP/IP(Transmission Control Protocol/Internet Protocol)协议,程序架构采用基于C/S(Client-Server)与P2P(Point to Point)相结合的模式,即软件客户端之间的通讯采用P2P架构,局域网用户与服务器之间采用C/S架构。
仿真实验表明,该工具能方便地实现局域网互联,具有良好的语音通讯功能。
关键词:即时通讯;点对点;语音通讯中图分类号:TP391文献标识码:ADesign and Implementation of P2PInstant Messaging Tools in LANLONG Bo,LIU Ji(Audio-Visual Center,Shenyang Broadcasting and TV University,Shenyang 110003,China)Abstract:In order to achieve instant messaging and share resources in LAN(Local Area Network),a toolfor instant communication of voice was designed and implemented.The network communication of thesoftware used TCP/IP(Transmission Control Protocol/Internet Protocol)protocol and its proceduralframework used the mode combing C/S(Client-Server)and P2P(Point to Point).P2Parchitecture wasused to build the communications among clients and C/S structure was ased to connect the clients andthe server.Simulation results showed that the tool can be easily interconnected to LAN and it has goodperformance of voice communication.Key words:instant messaging;point to point(P2P);voice communication0 引 言随着计算机和互联网技术的发展,局域网在企业、机关和学校等众多领域得到了广泛应用。
华北电力大学科技学院本科毕业设计(论文)基于web的聊天室系统的设计与实现摘要随着信息流量的日益加大,计算机网络技术得到飞速发展,各类网站不断涌现出来。
而最受青睐的应属具有动态效果、实施性质的相互交流的的网络平台,其页面的内容使用的不仅仅是标准的HTML代码。
而是加入了各种“交互性”。
将浏览器作为客户端界面,这将是今后WEB发展的大事所趋。
JSP具有一次编写,多处运行、系统多平台支持、强大的可伸缩性、多样化和功能强大的开发工具支持、支持服务器端组件等优势,所以本文选用JSP作为网站前端开发语言。
本文主要对网上聊天室进行需求分析,包括用户登录、用户注册、聊天室、聊天记录、密码修改。
在需求分析的基础上,对登录模块、注册模块、聊天室模块、聊天记录模块、数据库等进行了详细设计实现,最后对整个系统进行运行及测试。
该系统采用 Myeclipse,Mysql ,JSP作为开发工具。
关键词:WEB;JSP;聊天室;Mysql摘要 (1)Abstract ..................................... 错误!未定义书签。
1绪论.. (1)1.1课题背景和意义 (1)1.2聊天室研究现状 (1)1.3本文主要工作 (2)2 系统关键技术 (3)2.1 JSP技术 (3)2.1.1 JSP简介 (3)2.1.2 JSPWeb开发 (3)2.1.3 JSP的特点 (4)2.2 JDK (4)2.2.1 JDK组成 (5)2.2.2 JDK常用的包 (5)2.2.3 JDK常用工具 (5)2.3 Tomcat服务器 (6)2.3.1 简介 (6)2.3.2 Tomcat的功能 (6)2.4 MySQL数据库体系 (7)2.5 AJAX (8)3 系统需求分析 (9)3.1功能分析 (9)3.2 性能分析 (10)3.3 系统功能模块图例 (10)3.4 系统时序图 (10)4 WEB聊天室系统的功能实现 (12)4.1 Java简介 (12)4.2 系统运行环境的配置 (12)4.3 系统功能实现 (15)4.3.1 数据库设计 (15)4.3.2 功能模块设计 (16)4.4 系统运行截图 (21)5 总结与展望 (22)参考文献 (23)致谢 (24)1绪论1.1课题背景和意义伴随着Internet的发展与宽带技术的普及,人们可以通过Internet交换动态数据,展示新产品,与人进行沟通并进行电子商务贸易。
实现一个简单的点对点网络聊天程序随着互联网的不断发展,人们越来越依赖于网络进行信息传递和交流。
而随着新技术的不断涌现,人们对网络聊天的需求也越来越高。
在这个背景下,开发一个简单易用的点对点网络聊天程序,无疑是一个非常受欢迎的项目。
本文将介绍如何实现一个基于Python的简单点对点网络聊天程序。
第1步确定技术框架在开始编写程序之前,需要确定使用的技术框架。
由于点对点网络聊天程序需要实现实时通信,这就需要使用一种支持Socket 编程的技术框架。
Python作为一种易于学习的高级编程语言,在网络编程方面也表现出了优秀的性能。
因此,本文选择使用Python的Socket库和Tkinter库实现点对点网络聊天程序。
第2步编写客户端程序接下来,需要编写客户端程序。
客户端程序主要用于连接服务器,并向其他客户端发送消息。
客户端程序的实现需要遵循以下步骤:1、导入Socket和Tkinter库。
2、定义客户端程序类。
3、定义GUI组件和方法,包括用户界面、消息发送功能和消息接收功能。
4、定义连接服务器和发送消息的方法。
客户端程序的核心代码如下:import socketimport tkinter as tkclass Client:def __init__(self):ername = Noneself.server_ip = "127.0.0.1"self.server_port = 5555self.server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)self.client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)self.gui()def gui(self):self.root = ()self.root.geometry("400x400")self.root.title("P2P Chat - Client")self.entry_message = tk.Entry(self.root)self.entry_message.pack(side="left", fill="x", expand=True)self.button_send = tk.Button(self.root, text="Send", command=self.send_message)self.button_send.pack(side="right")bel_message = bel(self.root, text="Enter username:")bel_message.pack(side="left")self.entry_username = tk.Entry(self.root)self.entry_username.pack(side="left", fill="x", expand=True)self.button_connect = tk.Button(self.root, text="Connect", command=self.connect_to_server)self.button_connect.pack(side="right")def connect_to_server(self):self.client_socket.connect((self.server_ip, self.server_port)) ername = self.entry_username.get()self.client_socket.send(bytes(ername, "utf8"))self.receive_messages()def send_message(self):message = self.entry_message.get()self.client_socket.send(bytes(message, "utf8"))self.entry_message.delete(0, tk.END)def receive_messages(self):while True:try:message = self.client_socket.recv(1024).decode("utf8") print(message)except OSError:breakdef mainloop(self):self.root.mainloop()if __name__ == "__main__":client = Client()client.mainloop()第3步编写服务器端程序客户端程序只能够实现连接服务器和发送消息的基本功能,还需要依靠服务器端程序实现客户端之间的消息传递。
毕业设计论⽂--聊天系统的设计与实现南京航空航天⼤学本科毕业论⽂题⽬基于JAVA的聊天系统的设计与实现年级专业班级学号学⽣姓名指导教师职称论⽂提交⽇期基于JAVA的聊天系统的设计与实现摘要⽹络聊天⼯具已经作为⼀种重要的信息交流⼯具,受到越来越多的⽹民的青睐。
⽬前,出现了很多⾮常不错的聊天⼯具,其中应⽤⽐较⼴泛的有Netmeeting、腾讯QQ、MSN-Messager等等。
该系统开发主要包括⼀个⽹络聊天服务器程序和⼀个⽹络聊天客户程序两个⽅⾯。
前者通过Socket套接字建⽴服务器,服务器能读取、转发客户端发来信息,并能刷新⽤户列表。
后者通过与服务器建⽴连接,来进⾏客户端与客户端的信息交流。
其中⽤到了局域⽹通信机制的原理,通过直接继承Thread类来建⽴多线程。
开发中利⽤了计算机⽹络编程的基本理论知识,如TCP/IP协议、客户端/服务器端模式(Client/Server 模式)、⽹络编程的设计⽅法等。
在⽹络编程中对信息的读取、发送,是利⽤流来实现信息的交换,其中介绍了对实现⼀个系统的信息流的分析,包含了⼀些基本的软件⼯程的⽅法。
经过分析这些情况,该聊天⼯具采⽤Eclipse为基本开发环境和java语⾔进⾏编写,⾸先可在短时间内建⽴系统应⽤原型,然后,对初始原型系统进⾏不断修正和改进,直到形成可⾏系统关键词:即时通讯系统 B/S C/S MySQL Socket SwingThe Design and Implementation of Instant Messaging System Based on JavaAbstractAlong with the fast development of Internet, the network chating tool has already become one kind of important communication tools and received more and more web cams favor. At present, many extremely good chating tools have appeared . for example, Netmeeting, QQ, MSN-Messager and so on. This system development mainly includes two aspects of the server procedure of the network chat and the customer procedure of the network chat. The former establishes the server through the Socket, the server can read and deliver the information which client side sends, and can renovate the users tabulation. The latter make a connection with the server, carries on communication between the client side and the client side. With the LAN correspondence mechanism principle, through inheritting the Thread kind to establish the multithreading directly. In the development, it uses the elementary theory knowledge which the computer network programmes. for example, TCP/IP agreement, Client/Server pattern, network programming design method and so on. In the network programming, it realizes reading and transmission of the information, that is,informaton flows realize the information exchange, introduce information flow analysis for realizing a system, in which containes some basic software engineering methods. After analyzes these situations, this chating tool takes Eclipse as the basic development environment and compiles in java language. first, it will establish the system application prototype in a short time. then, for the initial prototype system, it needs constantly revised and improved, until a viable system.Keywords:Instant Messaging System; B/S ; C/S ;MySQL ;Socket; Swing;⽬录第1章引⾔ (1)1.1 开发背景 (1)1.2 开发⽬的和意义 (1)1.3 论⽂研究内容 (2)第2章即时通讯系统的相关研究 (3)2.1 C/S开发模式 (3)2.2 B/S开发模式 (3)2.3即时通讯原理 (4)2.4 Java web 、Struts2、AJAX、JavaScript应⽤技术 (4) 2.5 MySQL数据库应⽤技术 (4)2.6 Socket通信技术 (4)2.7 开发环境的搭建 (5)第3章系统分析 (5)3.1 系统基本功能描述 (5)3.2 可⾏性分析 (6)3.3 系统需求分析 (6)3.3.1功能分析 (6)第4章系统设计 (8)4.1 数据库设计 (8)4.2 系统模块设计 (9)4.2.1 聊天系统⼯作原理图 (9)4.2.2 系统功能模块图: (10)4.2.3 系统⽤例图: (10)4.2.4 活动图: (11)4.3 系统类设计 (13)4.3.1 Message类的设计 (14)4.2.2 截图类的设计 (15)4.2.3 聊天记录类的设计 (16)4.2.4 服务器线程类设计 (17)第5章系统实现 (17)5.1 实现概况 (17)5.2 注册模块 (18)5.2.1 流程图 (18)5.2.2 关键代码 (18)5.3 登录模块 (20)5.3.1 流程图 (20)5.3.2 关键代码 (20)5.4 聊天模块 (25)5.4.1 流程图 (25)5.4.2 关键代码 (25)5.5 ⽂件模块 (29)5.5.1 流程图 (29)5.5.2 关键代码 (30)5.6 ⽤户管理模块 (36)5.6.1 流程图 (36)5.6.2 关键代码 (36)5.7 其他功能的实现 (39)5.7.1 截图功能的实现 (39)5.7.2 聊天记录功能的实现 (40)5.7.3 服务端线程的实现 (42)5.8 ⽤户界⾯的设计 (43)结语 (46)参考⽂献 (47)致谢 ......................................................................................... 错误!未定义书签。
基于P2P架构的简单聊天程序的设计与实现摘要在当今网络风行的社会里,上网成为越来越多人们的选择。
随着互联网的飞速发展,有关网络的技术也层出不穷。
现今活跃在WEB站点中的就是近年才发展起来的一项新型技术。
功能强大、本领高强,利用功能时几乎没有什么限制,可以实现动态页面。
毕业设计我尝试用来实现聊天工具的开发,于是就有了下面的ChatRoom。
本论文研究了一种基于P2P架构的聊天程序的设计与实现。
其开发主要包括后台数据库的建立、后台管理以及前台页面的Web设计。
系统使用Microsoft公司以C#为核心语言的开发工具,结合SQL Server 2005建立数据连接关系。
利用其提供的各种组件,在短时间内建立数据库,对数据库进行分析与建立页面,不断改进,直到功能基本实现的可行系统。
关键词聊天程序;数据库;对象;C#;SQL Server 2005Design And Implementation Of A Simple Chat ProgramBased On P2P ArchitectureAbstractThe Internet become more and more people's choices in today's network society. With the rapid development of Internet, network technology are endless. Active in the web site is only in recent years developed a new technology of the day. There is little restriction in the use of features, can achieve a dynamic page. So there is the following ChatRoom.This paper based on P2P architecture chat program of design and implementation. Its development mainly include the establishment of the database, background management and the front desk page Web design. Use Microsoft company with C# system as the core of language development tools, combined with SQL Server 2005 establish data connection relationship. Use the various components, in a short time, the establishment of database of database, the analysis and establish page, improving continuously, until the realization of basic functions feasible system.Keywords Chat rooms;Database;Object;C #;The SQL Server 2005目录第一章绪论 (1)1.1 引言 (1)1.2 (1)1.2.1 特点 (2)1.2.2 与ASP的区别 (3)1.3 SQL Server 2005的介绍 (4)1.3.1 SQL2005 Server的优势 (4)1.2.2 SQL Server 2005 与SQL Server 2000 的区别 (5)第2章 P2P的简介 (7)第3章 C#简介 (9)3.1 C#简介 (9)3.2 C#的特点 (10)3.2.1 C#从Java继承而来的特点 (10)3.2.2 C#从C和C++继承的特点 (11)3.2.3 C#独有的特点 (11)第4章系统配置 (13)第5章 TCP应用编程 (15)5.1 TCP协议的基础知识 (15)5.2 TCP最主要的特点 (15)5.3 利用TCP开发应用程序时,.NET框架提供两种工作方式 (15)5.4 异步TCP应用编程 (16)第6章 技术对聊天程序开发实例 (17)6.1聊天程序功能说明 (17)6.2 聊天程序简介– ChatRoom (17)6.3 的总体设计 (17)6.3.1 聊天程序的系统功能设计 (17)6.3.2 聊天程序的数据表的建立 (18)第7章软件实现 (20)7.1 设计说明 (20)7.2 文件上传设计说明 (21)7.3 用户下载设计 (22)7.4 聊天界面设计 (24)7.5 用户个性输入字体设计 (25)7.6 用户表情设计 (26)第8章调试与维护 (26)8.1 系统调试 (26)8.2 系统维护 (29)结论 (31)致谢 (32)参考文献 (33)附录A 译文 (34) 概述 (34)附录B 外文原文 (43)第一章绪论1.1 引言随着Internet在中国的迅速发展,人们日常生活中越来越多地使用这项新的技术来为自己的工作和学习服务。
在众多Internet关联功能中,有一项新的业务正成为所有用户所津津乐道的交流方式,这就是网上聊天。
根据调查现在网民使用现状,网上聊天程序的使用百分比高居榜首。
所谓聊天程序就是一个可以让许多用户同时互相通信的网上园地,个人用户可以通过网上聊天程序将自己融入整个主流社会中。
由于目前上网的一般都是具有高学历的新一代创业者,因此,在网上聊天程序这个虚拟的社会中,可以结交各层次各地方的朋友,从而为自己获取更多的知识和更多的阅历。
由于Web技术的飞速发展,人们对网页的要求再也不是局限于简单的、静止的Web页,而是一种根据用户要求控制Web页信息的“活动”页面。
所谓Web是交互式的,主要表现在用户能向Web站点发送信息或命令,从而对Web服务器上运行的应用程序进行控制,服务器则根据相应的命令对使用者的操作做出响应。
在这种需求的推动下,微软公司推出了“活动服务器页”(,Active Server Pages)。
本设计所制作的网络聊天程序也采用了技术。
1.2 技术:(Active Server Page)中文字面理解即是活动的服务器页面。
它与普通的HTML页面的区别在于当某人请求一个普通的HTML网页时,Web 服务器并不注意文件的内容。
Web服务器担当的角色只是取出文件而并不处理文件。
所有对文件内容的解释工作均由用户的Web浏览器来完成。
但是当某人请求一个网页的时候,Web浏览器担任的是一个较活跃的角色。
在文件被发送到用户的Web浏览器之前,它首先要由Web服务器进行处理。
Web服务器先对 网页中的所有脚本解释和执行,再将它发送到用户的Web服务器。
是建立在.NET Framework基础之上的程序设计框架,它用来创建Web 应用程序。
Web窗体是 Web应用程序的一部分,它为创建动态Web站点提供了简易的方法。
也包括创建XML Web Service的必要技术,它提供组建来创建基于Web的分布式应用程序。
在中,可以使用Request、Response、Application、Session和Server 对象,以及它们一些新的属性和方法。
也可以使用<SCRIPT RUNAT=”SERVER”>块,或者<%%>ASP脚本分隔符来表示服务器端的脚本。
编写页的方法与编写ASP页的方法相同。
1.2.1 特点的新特性:(1) Web窗体Web窗体是新的程序设计模式。
Web窗体结合了ASP简易开发VB高效率的优点,可以把控件拖放到页面上,然后就可以编写代码(在代码隐藏页中)来提供交互、调用业务对象和执行其他任务。
(2) 服务器控件服务器控件是Web窗体程序设计模型的主要组件。
服务控件(增加了一些额外的控件)近似地映射为HTML元素,并可提供强大的服务器端编程能力。
服务器控件运行在服务器上,输出HTML,这些HTML可被高版本浏览器(如Internet Explorer 5.x及其更高版本)或任何支持HTML3.2的浏览器所支持。
(3) Web服务Web服务是的关键部分,它允许创建可编程的服务,这些服务对于Internet或本地局域网上的其他开发人员是可用的。
Web服务是基于显出的SOAP标准,因为它们允许在不同的平台间相互使用。
(4) 高速缓存中包含一个功能强大的新的高速缓存引擎,它减少了Web服务器和数据库服务器处理的负载,从而改进了应用程序的执行性能。
(5) 配置的改进使用新的方法为Web应用程序存储配置信息。
与IIS将这些信息存储在很难访问的数据库中不同,将这些信息存储在人和机器都易读的基于XML的配置文件中。
Web应用程序包含不同的部分和组件,别是:(1)Web窗体(或.aspx页)Web窗体和.aspx页为Web应用程序提高用户接口。
(2)代码隐藏页代码隐藏页是和Web窗体关联在一起的,它包含Web窗体的服务器端代码。
(3)配置文件配置文件是为Web应用程序和Web服务器定义了默认设计的XML文件。
每个Web 应用程序都有一个Web.config配置文件。
另外,每个服务器也都有一个Machine.config 文件。
(4)Global.asax文件Global.asax文件包含对由引发的应用程序级事件做出响应的必要代码。
(5)XML Web Service链接XML Web Service链接允许Web应用程序使用XML Web Service发送和接受数据。
(6)数据库连接数据库连接允许Web应用程序与数据库资源之间传递数据。
(7)高速缓存高速缓存可使Web应用程序在第一次请求之后更快地返回Web窗体和数据。
1.2.2 与ASP的区别(1) 效率ASP是一个脚本编程环境,只能用VBScript或者JavaScript这样的非模块化语言来编写。
当ASP程序完成之后,在每次请求的时候解释执行。
这就意味着它在使用其他语言编写的大量组件的时候会遇到困难,并且无法实现对操作系统的底层操作。
由于它是解释执行的,所以速度和效率要远远低于编译执行的程序。
而则是建立在.NET Framework之上的,它可以使用Visual Basic、C++这样的模块化程序设计语言,并且它在第一次执行时进行了编译,之后的执行不需要重新编译就可以直接运行,所以速度和效率比ASP会提高很多。
(2) 可重用性在写ASP应用程序的时候,ASP代码和HTML混合在一起。