浅议Java程序设计网络编程.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅议Java程序设计网络编程

浅议Java程序设计网络编程摘要:网络编程技术是现在比较流行的软件研发技术,广泛应用于如斗地主,五步棋等游戏以及即时通讯之中。本文介绍在Java语言中如何进行TCP和UDP格式的网络编程,通过简单的实例演示网络编程的基本方法,旨在对网络编程爱好者起到抛砖引玉的作用。 关键词:数据包;TCP协议;UDP协议 中图分类号:TP311 文献标识码:A 文章编号:1674-7712 (2012) 10-0098-01 计算机网络是计算机技术和通信技术紧密结合的产物,对如今社会发展有着深远的影响。网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。网络编程中有两个主要问题:一个是如何准确地定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效地进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供面向应用的可靠的或非可靠的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。 一、TCP和UDP协议 TCP和UDP协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。TCP支持的应用协议主要有:Telnet、FTP、SMTP等;UDP支持的应用层协议主要有:NFS、SNMP、DNS、TFTP等。 二、网络通信中Java的网络类和接口 Java中有关网络方面的功能都定义在程序包中。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

文档评论(0)

docman126 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档