基于TCP协议和局域网环境实现即时通讯系统_第1页
基于TCP协议和局域网环境实现即时通讯系统_第2页
基于TCP协议和局域网环境实现即时通讯系统_第3页
基于TCP协议和局域网环境实现即时通讯系统_第4页
基于TCP协议和局域网环境实现即时通讯系统_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于TCP协议和局域网环境实现即时通讯系统摘要:在信息时代,网络的生命在于其安全性和可靠性。计算机网络最重要的方面是它向用户所提供的信息服务及其所拥有的信息资源,网络连接在给用户带来方便,足不出门,也可以网上购物、理财,网上会议,查找资料,了解最近时讯还可以面对面的和朋友聊天,可以说网络把我们的世界变“小”了,即使到天涯海角,我们也可以随时联系。一个最简单且应用最广泛的例子网络聊天,就是最好的证明。本文主要介绍了基于TCP协议和局域网环境,用JAVA语言实现即时通讯程序。关键字:TCP Java 即时通信Based on the TCP protocol and LAN environment

2、s to achieve real-time communication systemAbstract :In the information age, the network life lies in its safety and reliability. The computer network is the most important respect it to the users of the information provided in the service and have information resources, network connection in to the

3、 user to bring convenience, never go out, can also online shopping, financial management, online session, find material, understand the extremely can also face-to-face chat with the friend, can say the world is our network, "small", even to the end of the world, we can also contact at any

4、time. One of the most simple and one of the most widely applied examples-the Internet chat, is the best proof. This article will be based on TCP protocol and local area network environment, use JAVA language implementation instant messaging program.Key words:TCP Java Instant communication1 引言TCP是一种面

5、向连接的保证可靠传输的协议, 它确保接收方完全正确地获取发送方所发送的全部数据。TCP在网络通信上有极强的生命力,例如远程连接(Telnet)和文件传输(FTP)都需要不定长度的数据被可靠地传输。相比之下UDP操作简单,而且仅需要较少的监护,因此通常用于局域网高可靠性的分散系统中client/server应用程序。TCP传送效率要比没有保证的服务低,一般适合工作在广域网中,对网络状况非常好的局域网不是很合算。当然,是否采用TCP也取决于具体的应用需求。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的运输层。不同主机的应用层之间经常需要可

6、靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。 应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分割成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传送单元(MTU的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。TCP为了保证不发生丢包,就给每个字节一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK;如果发送端实体在合理的往返时延(RTT内未收到确认,那么对应的数据(假设丢失了)将会被重传。TCP用一个校验和函数来检

7、验数据是否有错误;在发送和接收时都要计算校验和。首先,TCP建立连接之后,通信双方都同时可以进行数据的传输,其次,它是全双工的,在保证可靠性上,采用超时重传和捎带确认机制。在流量控制上,采用滑动窗口协议,协议中规定,对于窗口内未经确认的分组需要重传。在拥塞控制上,采用广受好评的TCP拥塞控制算法(也称AIMD算法),该算法主要包括三个主要部分:1,加性增、乘性减;2,慢启动;3,对超时事件做出反应在信息时代,网络的生命在于其安全性和可靠性。计算机网络最重要的方面是它向用户所提供的信息服务及其所拥有的信息资源,网络连接在给用户带来方便,足不出门,也可以网上购物、理财,网上会议,查找资料,了解最近

8、时讯还可以面对面的和朋友聊天,可以说网络把我们的世界变“小”了,即使到天涯海角,我们也可以随时联系。一个最简单且应用最广泛的例子网络聊天,就是最好的证明。本设计将基于TCP协议和局域网环境,用JAVA语言实现即时通讯程序。1.1开发环境的介绍Java语言是由美国Sun公司于1995年5月推出的Java程序设计语言和Java平台的总称, Java语言 是一种简单易用、完全面向对象、具有平台无关性并且安全可靠的语言。Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。它提供了全新的SWT/JFace API,一改SWT/Swing单调、沉闷的界面风格,给人耳目一新的感觉。Ecli

9、pse凭借其灵活的扩展能力、优良的性能与插件技术,受到了越来越多开发者的喜爱。1.2 TCP简介TCP是一种面向连接的、可靠的运输层通信协议,TCP层是位于IP层之上,应用层之下的运输层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分割成适当长度的报文段。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。TCP为了保证不发生丢包,就给每个字节一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字

10、节发回一个相应的确认(ACK;如果发送端实体在合理的往返时延内未收到确认,那么对应的数据(假设丢失了)将会被重传。TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。(1 基于TCP编程的C/S模型对于网络编程来说,目前主要有两种编程模型,分别为C/S结构和B/S结构。本次用的是C/S结构,C/S结构是指客户机/服务器结构。所谓客户机/服务器结构,指的是在客户端需要安装客户端软件,由客户端软件负责与服务器端的数据通讯,将任务合理分配到客户端和服务器端来实现,降低了网络的负载开销。1.3 Socket简介Socket是java中需要编写较低层次的网络通信程序(例如C/S应用

11、程序时提供的一种通讯机制。Socket是两个程序进行双向数据传输的网络通信的端点,一般由一个地址加上一个端日号来标一识。每个服务程序都在一个众所周知的端口上提供服务,而想使用服务的客户端程序则需要连接该端口。通过Socket的数据是原始字节流信息,通信双方必须根据约定的协议对数据进行处理与解释。Socket通信机制提供了两种通信方式:有连接方式(TCP和无连接方式(UDP数据报。有连接方式中,通信双方在开始时必须进行一次连接过程,建立一条通信链路。通信链路提供了可靠的,全双工的字节流服务。无连接力一式中,通信双方不存在一个连接过程,一次网络I/O以一个数据报形式进行,而每次网络I /O可以和不

12、同.主机的不同进程进行。无连接方式开销小于有连接方式,但是所提供的数据传输服务不可靠,不能保证数据报一定到达目的地。JAVA的有连接通信采用流式I/O模式。Socket是两个进程间通信链的端点,每个Sockct有两个流:一个输入流和一个输出流。只要向Sockct的输出流写,一个进程就可以通过网络连接向其他进程发送数据;同样,通过读Sockt的输入流,就可以读取传输来的数据。有连接通信一般要经历以下四个基本步骤 创建Sockct,建立连接; 打开连接到Sockct的输入/输出流; 按照一定的一脚议对Socket进行读/写操作; 关闭Socket。第步是程序员用来调用Socket和实现程序功能的关

13、键步骤,其他三步在各种程序中基本相同。2.设计方案2.1 设计目的学会使用TCP方式实现网络通信程序,并理解计算机网络中面向连接的概念。2.2设计要求 设计基于eclipse平台,用TCP协议的JAVA语言,实现客户端与服务器的聊天功能; 实现可视化的登录聊天界面; 实现客户与服务器端可以双方发送接收消息。2. 3 设计思路(1 客户机使用服务器的IP与服务器建立连接:服务器的指定端口被绑定一个Sockct,此时服务器只是处于等待状态,监听客户的连接请求。如图1所示:图1 服务器的监听端口(2 服务器与客户端建立socket流:服务器一旦接收到客户机的连接请求,服务器选择一个新的端口并绑定一个

14、新的Sockct与客户端建立的Sockct对。如图2。对客户机来说,连接请求被接受,客户端的Sockct便被成功创建了,Sockct通信便可以开始进行。由于Sockct端的输出流是服务端的输入流,Server端的输入流是服务器的输出流,反之亦然,所以,Client和Server以通过读写各自Sockct进行交流。图2 服务器监听端口的读写过程(3 服务器端接收到数据包后,获取客户机发送消息的端口号,及IP地址。实现S到C的通信。客户机首先创建一个Sockct对象,用于和服务器的通信。之后需创建两个对象:DataInputStream和PrintStream,前者用于从Sockct的InputS

15、tream输入流中读取数据,后者则用于向Sockct的OutputStream的写数据。3.总结本设计的目的是利用 TCP协议编写程序来实现网络的即时通讯。采用TCP协议原理,分为客户端和服务器实现基本数据配置,系统的开发平台为Windows xp,程序设计语言采用Java,程序的运行平台是eclipse。程序通过调试、运行,初步实现了设计的目标,经过完善后,可以应用于网络的即时聊天。参考文献:1 戴建明.面向连接的SOCKET编程与通信软件的设计J.成都气象学院学报,(出版年),11(4:291-300.2013年中文核心期刊目录中国知网(CNKI)、中国学术期刊网(QIKANW/SOOKA

16、N、中国学术网(XUESHUW联合发布概述中文核心期刊要目总览是学术界对某类期刊的定义,一种期刊等级的划分。它的对象是,中文学术期刊。是根据期刊影响因子等诸多因素所划分的期刊。中文核心期刊是北京大学图书馆联合众多学术界权威专家鉴定,受到了学术界的广泛认同。从影响力来讲,其等级属同类划分中较权威的一种,是除南大核心、中国科学引文数据库(cscd)以外学术影响力最权威的一种。按照惯例,北大核心期刊每四年由北大图书馆评定一次,并出版北大核心期刊目录要览一书,从2011年更改为每3年一评定!简介中文核心期刊目录总览由中国知网、中国学术期刊网和北京大学图书馆期刊工作研究会联合发布中文核心期刊目录。199

17、2年推出中文核心期刊目录总览,1996年推出(第二版),2000年推出(第三版),2004年推出(第四版),2008年推出(第五版) ,2011年推出(第六版),2013年推出(第七版)。来源中国知网(CNKI)、中国学术期刊网(QIKANW/SOOKAN、中国学术网(XUESHUW中文核心期刊目录分类第一编 哲学、社会学、政治、法律类、军事第二编经 济 第三编 文化、教育、历史第四编 自然科学第五编 医药、卫生第六编 农业科学第七编 工业技术中文核心期刊目录名单第一编 哲学、社会学、政治、法律类、军事A/K综合性人文、社会科学1.中国社会科学 2.北京大学学报.哲学社会科学版 3.中国人民大

18、学学报 4.学术月刊5.北京师范大学学报社会科学版6.文史哲 7.学术研究 8.江海学刊 9.复旦学报.社会科学版10.吉林大学社会科学学报 11. 社会科学 12.社会科学战线.13.江苏社会科学 14.南京大学学报.哲学、人文科学、社会科学 15.南开学报.哲学社会科学版 16.河北学刊 17.厦门大学学报.哲学社会科学版 18.浙江学刊 19.浙江大学学报.人文社会科学版20.浙江社会科学 21.天津社会科学22.社会科学研究 23. 中山大学学报.社会科学版24.华中师范大学学报.人文社会科学版 25.求实学刊 26.人文杂志 27.江西社会科学 28.湖南师范大学社会科学学报 29四

19、川大学学报.哲学社会科学版30.学习探索 31江汉论坛 32华东师范大学学报.哲学社会科学版 33.南京师大社会科学版 34. .武汉大学学报.哲学社会科学版 35.求索 36.郑州大学学报.哲学社会科学版 37东北师大学报.哲学社会科学版 38.清华大学学报.哲学社会科学版 39.中州学刊 40.南京社会科学41.河南大学学报.社会科学版 42.上海交通大学学报.哲学社会科学版 43.甘肃社会科学 44.思想战线 45.山东社会科学 46.西北师大学报.社会科学版 47社会科学辑刊48.福建论坛.人文社会科学版49.西南师范大学学报.人文社会科学版(改名为:西南大学学报.社会科学版) 50.

20、学术界 51.陕西师范大学学报.哲学社会科学版 52. 广东社会科学 53.国外社会科学54.西安交通大学学报.社会科学版55.河南师范大学学报.哲学社会科学版 56.学术交流 57.东岳论丛58.东海学术 59.学海 60学术论坛 61.武汉大学学报.人文科学版62.山东大学学报.哲学社会科学版 63.兰州大学学报.社会科学版64.探索 65.西北大学学报.哲学社会科学版 66.安徽师范大学学报.人文社会科学版 67.齐鲁学刊 68.天津师范大学学报.社会科学版 69.湖北社会科学70.中国社会科学院研究生院学报71. 上海师范大学学报.哲学社会科学版 72.深圳大学学报.人文社会科学版73

21、.广西社会科学版74.暨南学报.哲学社会科学版 75.华南师范大学学报.社会科学版 76.安徽大学学报.哲学社会科学版77.首都师范大学学报.社会科学版 78.湘潭大学学报.哲学社会科学版79.河南社会科学 80.湖南社会科学 81.学术探索 82.杭州师范学院学报.社会科学版 (改名为:杭州时范大学学报 .社会科学版)84. 烟台大学学报.哲学社会科学版 85.江苏大学学报.社会科学版86.湖北大学学报.哲学社会科学版87.东南大学学报.哲学社会科学版88.高校理论战线 89.同济大学学报.社会科学版 90.山西大学学报.哲学社会科学版92.苏州大学大学学报.哲学社会科学版 93.河北大学学

22、报.哲学社会科学版 94.武汉理工大学学报.社会科学版 95.重庆大学学报.社会科学版 96山西大学学报.社会科学版97.河北师范大学学报.哲学社会科学版 98.云南大学学报.社会科学版 99.北方论丛100.云南社会科学101.社会科学家102.华中科技大学学报.社会科学版103.四川师范大学学报.社会科学版104.湖南大学学报.社会科学版105.广西师范大学学报.哲学社会科学版106.上海大学学报.社会科学版107.湖南科技大学学报.社会科学版108.吉首大学学报.社会科学版109.江淮论坛110.北京社会科学111.前沿112.南昌大学学报.人文社会科学版113.中国青年政治学院学报11

23、4.内蒙古大学学报.人文社会科学版(改名为:内蒙古大学学报.哲学社会科学版)115.中国地质大学学报.社会科学版117.宁夏社会科学118.徐州师范大学学报.哲学社会科学版119.内蒙古社会科学120.东北大学学报.社会科学版121.山东师范大学学报.人文社会科学版C8 统计学1.统计研究 2.数理统计与管理 3.中国统计 4.统计与决策C9l 社会学1.社会学研究 2.社会 3.妇女研究论丛 4、青年研究 5人文社科论坛C92 人口学l.人口研究 2. 中国人口科学 3.人口与经济 4.人口学刊 5、市场与人口分析(改名为:人口与发展)C93 管理学1.管理科学学报 2.中国管理科学 3.管

24、理工程学报 4.领导科学C96 人才学1.中国人才第二编经 济F 综合性经济科学1.经济研究 2.经济学动态 3.经济学家 4.经济科学 5.经济评论 6.南开经济研究 7. 当代经济科学 8.当代经济研究 9中南财经政法大学学报 10.经济纵横 11.山西财经政法大学学报 12.经济问题 13.现代财经 14.上海财经大学学报 15.经济经纬16.贵州财经学院学报 17.首都经济贸易大学学报 18.江西财经大学学报 19.河北经贸大学学报 20.云南财贸学院学报(改名为:云南财经大学学报)F11 世界经济1.世界经济 2.经济社会体制比较 3.外国经济与管理 4. 世界经济研究 5.国际经济

25、评论 6.世界经济文汇 7.东北亚论坛 8.亚太经济 9.世界经济与政治论坛F0,F12,F2 中国经济,经济计划与管理1.管理世界 2.数量经济技术经济研究 3.地域研究与开发 4.改革5.经济理论与经济管理6.开发研究 7.上海经济研究 8.宏观经济研究 9.长江流域资源与环境 10.经济研究参考 11.生产力研究 12.城市问题 13.城市发展研究 14.中国经济史研究 15.资源科学16.中国人力资源开发 17.经济体制改革 18.经济问题探索 19.资源、产业(改名为:资源与产业)20.中国经济问题 21.南方经济 22.现代城市研究 23.消费经济 24.生态经济 25.经济数学

26、26.中国流通经济 27.开放导报 28.特区经济 29.现代经济探讨 30.宏观经济管理 31.运筹于管理 32.改革与战略 33.技术经济与管理研究 34.中国经贸导刊F23 会计1.会计研究 2.审计研究 3. 审计与经济研究 4.财务与会计 5.财会通讯.综合 6. 会计之友 7.财会月刊.会计 8.中国审计 9.商业会计 10.上海立信会计学院学报 11.财会研究 12.中国注册会计师 13.事业财会F3 农业经济.中国农村经济 2.农业经济问题 3.中国农村观察 4.中国土地科学 5.农业现代化研究 6.农业技术经济7.调研世界 8.中国农业资源与区别 9.农业经济 10.农业经济 11.世界农业 12.林业经济问题 13.中国土地 14.国土与自然资源研究 15.绿色中国.B版,理论版(改名为:林业经济)16.中国渔业经济F4/6工业经济 (含F271.中国工业经济 2.南开管理评论 3.经济管理 4.管理科学5.工业工程与管理6.管理评论 7.企业经济 8.预测 9.软科学10.工业工程 11.企业管理 12.管理现代化 13.经济与管理研究F7 贸易经济1.国际贸易问题 2. 国际贸易3. 财贸经济 4.商业经济与管理 5. .国际经贸探索 6. 商业研究 7.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论