研究Java程序设计的网络编程

来源 :城市建设理论研究 | 被引量 : 0次 | 上传用户:nikaixinma
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:网络编程技术是现在比较流行的软件研发技术,本文介绍在Java语言中如何进行TCP和UDP格式的网络编程,通过简单的实例演示网络编程的基本方法,旨在对网络编程爱好者起到抛砖引玉的作用。
  关键词:数据包;TCP协议;UDP协议
  Abstract: Network programming technology is now more popular software development technology, this paper introduces how TCP and UDP format in Java network programming, the basic method of demonstration examples of network programming simple, it is to play the role of network programming enthusiasts play.
  Key words: data packets; TCP protocol; UDP protocol
  
  中图分类号:TP311 文献标识码: 文章编号:
  引言:计算机网络是计算机技术和通信技术紧密结合的产物,对如今社会发展有着深远的影响。网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。网络编程中有两个主要问题:一个是如何准确地定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效地进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供面向应用的可靠的或非可靠的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。
  Java历史
  Java是由Sun Microsystems公司于1995年5月推出的一种程序设计语言,主要应用于互联网、个人PC、数据中心、游戏控制台、科学超级计算机。它刚开始的名字叫“Oak”,Java最初是为电视、控制烤面包机等家用电器的交互操作而设计的,但当时并没有得到成功的推广、随着互联网的发展,Java经过数次的设计和改进后演变成当前受到极大欢迎的Java。
  基于Java前身设计的特点,其具备了可移植性和平台无关性,成为了可以运行于不同的环境、不同的CPU上的程序语言。当前Java在全球得到了大量的推广和应用,在计算机应用中发挥着强大的作用。
  一、TCP和UDP协议
  TCP和UDP协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。TCP支持的应用协议主要有:Telnet、FTP、SMTP等;UDP支持的应用层协议主要有:NFS、SNMP、DNS、TFTP等。
  二、网络通信中Java的网络类和接口
  Java中有关网络方面的功能都定义在java.net程序包中。Java所提供的网络功能可大致分为三大类:
  (一)URL和URLConnection:使用Socket类进行网络编程相当麻烦。对已经存在的协议,程序员应当了解它的每一段代表的含义,改而使用URL类可以很大程度上免去这些麻烦。
  1.URL类
  URL是类URL表示统一资源定位器,即指向网上某处资源的指针。一个URL包括协议名和主机名,有些还包括特定的端口号。
  2.URLConnection类
  通过URL的方法openStream(),只能从网络上读取数据,如果同时还想输出数据,例如向服务器的CGI程序发送一些数据,则必须先与URL建立连接,然后才能对其进行读写,这时就要用到URLConnection类了。CGI是公共网关接口的简称,它是用户浏览器和服务器端的应用程序进行连接的接口。
  URLConnection类可以由两种方式构建:一种是通过一个URL实例openConnection()方法返回一个,另一种是直接通过new URLConnection(URL ul)来创建。URLConnection实例不仅可以实现接收消息,还可以发送消息。
  (二)Socket:又称套接字,是网络编程中最原始的通信方式之一。一个套接字通常包含一个IP地址和一个端口地址,后者一般对应着某个应用程序。因此如果要进行Socket编程,首先要确定端口。一般来说,1024以下的端口已经被指定为固定的服务类型,如果用户要开发自己的交流平台,必须使用之后的端口地址。
  套接字(Socket)允许程序把网络连接当成一个流,可以向这个流写字节,也可以从这个流读取字节。Java的Socket类提供了丰富的功能。服务器使用的一般是ServerSocket,通过连接使双方都会产生一个实例,对实例进行操作来实现通信。大部分工作都是在抽象类SocketImpl中定义的。
  任何一个网络程序都离不开连接的建立、读写操作、关闭,程序还分为客户和服务器两种类型。除了关闭操作可以简单地使用Close()方法外,读写操作都不是一句话说得完的。
  (三)Datagram:是一种面向无连接的通信方法。它基于UDP协议,不需要建立和释放连接,每次通信时只要构造一个DatagramPacket实例发送出去,对方同样构造一个DatagramPacket实例接收。以Datagram方式传送数据时,只是把数据的目的地记录在数据包中,然后就直接放在网络上进行传输,系统不保证数据一定能够安全送到,也不能确定什么时候可以送到。
  三、Java实现加密
  Java的网络功能十分强大,还体现在作用它可以轻松实现各种加密算法。如今加密算法大致可分为两类:对称加密和公钥加密。
  对称加密,发送方和接收方使用同样的密钥,前者用它来加密,后者则用它解密。这样做本来是很安全的,例如3DES的密钥为112位,这样的组合数大约是5×1033,几乎不可能被攻破。但是密钥总要在双方交换,因此交换途径的保密性就很关键,使用人工固然安全却麻烦,在网络上传输虽方便但危险。故如今网络上大多使用公钥加密方式。
  公钥加密的优点在于,加密和解密的密钥是不同的,前者称为公钥,后者称为私钥。公钥,顾名思义,是可以公开的,一台电脑里可能存放了很多远程通讯方提供的公钥。
  公钥解密还可以用在数字签名上,这时的动作是相反的:用私钥加密,和用公钥解密。Java里用于实现这方面功能的是java.省略包中。
  四、结束语
  总之,网络编程中Java程序设计,除了上述的一些应用外,还有很多地方可以使用接口,比如在Java的事件机制中就常用到接口。另外,对于一些已经开发好的系统,在结构上进行较大的调整已经不太现实,这时可以通过定义一些接口并追加相应的实现来完成功能结构的扩展。 学好Java程序设计可以帮助我们更好的理解和运用面向对象的设计原则。使我们能设计出更好的软件系统。
  参考文献:
  [1]印旻.Java语言与面向对象程序设计[M].北京:清华大学出版社,2007
  [2]朱福喜.Java语言程序设计[M].北京:清華大学出版社,2007
  [3]李明才.Java语言程序设计案例教程[M].北京:中国水利水电出版社,2010,8
  [4]张渝.Java语言程序设计[M].北京:北京大学出版社,2008
  [5]张小波.Java程序设计教程[M].北京:冶金工业出版社,2006
  [6]王唯,Java程序设计[M],北京理工大学出版社,北京,2012年
其他文献
摘要: 电磁流量计由于具有安装和使用较方便、结构和操作简单、测量精度高,测量结果不受外在物理参数影响以及报警功能和故障自诊断等特点,因此,现已广泛地应用于工业行业,流量数据在工业生产中是重要的工艺参数,流量测量仪表被广泛应用。随着科学技术的不断发展,不断有新型流量仪表出现,本文详细介绍了电磁流量计在应用中如何减小误差的方法 。供同行参阅。  关键词:电磁流量计 ;应用 ;问题   Abstract
【摘 要】 本文从道路照明工程设计的实际出发,分别从照明标准与布灯间距,绿色照明,供电路线,控制系统等方面就如何科学实现道路照明的节能,阐述几点看法。  【关键词】道路照明 路灯 节能设计  [Abstract] this paper from the actual road lighting engineering design, separately from the lighting sta
摘要:机械设备安装是安装工程一个不可或缺的组成部分,机械安装是否具有较高的质量直接关系到整个工程的综合质量问题,直接关系到整个工程能否最终顺利竣工和转交。因此,深入分析机械设备安装过程中的质量控。  关键词:冶金机械;机械设备;安装;维修  Abstract: Themechanical equipmentinstallation engineeringinstallationisan indis
摘要:文章根据工程实例,从防水混凝土施工质量控制、细部防水工程施工质量控制、聚乙烯丙纶高分子复合防水卷材施工质量控制、防水工程成品保护等方面进行阐述,以供参考。  关键词:高层建筑;地下室防水工程;质量控制  Abstract: according to the engineering example, carries on the elaboration from the waterproof
摘要:进入21世纪以来,在建筑工程、电子通讯、航天技术、计算机以及国防等各种行业广泛应用项目管理模式。但是往往在实行项目管理的过程中,常把项目管理的重点放在项目的预定目标上面,却忽视了实现项目预定目标最主要的因素,即对人的管理,使得项目进展迟缓。本文主要针对项目管理中的人力资源方面存在的问题以及相应的策略进行研究分析,希望为今后的人力资源管理提供一定的借鉴意义。  关键字:项目管理模式人力资源管理
私营经济的快速发展在给企业带来丰厚的经济效益的同时也促进了我国国民经济的快速发展,使得城市化进程的发展。因此,私营建筑经济的发展需要我们更加深入的研究探讨。本文笔者
摘要:建筑工程质量关系到工程项目的投资效益、社会效益和环境效益, 工程质量优劣维系国家和人民生命财产的安全, 影响国民经济的发展和社会的安定。 高度重视、严格控制工程质量,是工程建设参建各方义不容辞的责任,同时是工程建设中政府维护国家和公众利益质量职能的主要体现。文章分析了建筑工程质量监督存在的问题及原因,提出了加强建筑工程质量监督的措施。  关键词:建筑工程;质量监督;措施  Abstract:
摘 要:近几年来,电力工程建设投入空前,建设任务巨大。如何保质保量的完成电力工程的监督任务,是我们监管部门必须认真考虑并对待的问题。  关键词:工程监理;电力工程;施工项目;质量控制  Abstract: In recent years, electric power construction investment is unprecedented, huge construction task.
摘要:通过理论诠释了灰土挤密桩加固地基的原理,通过实践及实测数据证实了加固地基的效果。分析推广灰土挤密桩对处理湿陷性黄土地基的经济性和适用性。  关键词:湿陷性;挤密;柴油锤;离子交换  Abstract: Through theoreticalinterpretation of theprinciple of lime soil compactionpile to reinforce the f
摘要:本文针对公路建设的情况以及混凝土的施工技术进行阐述,总结归纳出混凝土施工的质量要点。   关键词:公路建设;混凝土;施工技术   Abstract:Aiming atthe highway constructionandconcrete constructiontechnology is expounded,sums up thekey pointsof concrete construct