仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 458|回复: 8
打印 上一主题 下一主题

[学习教程] 了解下JAVA的利用Java完成数据报通信历程

[复制链接]
蒙在股里 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:24:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Java编译的是字节码,跟C++相反,启动不够快,效率不够高,难以精确控制内存,但是优点是编程比C++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试)
数据报(Datagram)使收集层数据单位在介质上传输信息的一种逻辑分组格局,它是一种在收集中传布的、自力的、本身包括地点信息的动静,它可否抵达目标地,抵达的工夫,抵达时内容是不是会变更不克不及正确晓得的。它的通信两边是不必要创建毗连的,关于一些不必要很高质量的使用程序来讲,数据报通信是一个十分好的选择。在Java的java.net包中有两个类DatagramSocket和DatagramPacket,为使用程序中接纳数据报通信体例举行收集通信。
上面,我想具体注释在Java中完成客户端与服务器之间数据报通信的办法,请看:
1、客户端使用程序的事情流程
1)起首要创建数据报通信的Socket,我们能够经由过程创立一个DatagramSocket对象来完成它,在Java中DatagramSocket类有以下两种机关办法:
a)publicDatagramSocket()机关一个数据报socket,并使其与当地主机任一可用的端口毗连。若打不开socket则抛出SocketException非常。
b)publicDatagramSocket(intport)机关一个数据报socket,并使其与当地主机指定的端口毗连。若打不开socket或socket没法与指定的端口毗连则抛出SocketException非常。
2)创立一个数据报文包,用来完成无毗连的包传送服务。每一个数据报文包是用DatagramPacket类来创立,DatagramPacket对象封装了数据报包数据,包长度,方针地点,方针端口。作为客户端要发送数据报文包,要挪用DatagramPacket类以以下情势的机关函数创立DatagramPacket对象,将要发送的数据和包文目标地点信息放进对象当中。
DatagramPacket(bytebufferedarray[],intlength,InetAddressaddress,intport)即机关一个包长度为length的包传送到指定主机指定端标语上的数据报文包,参数length必需小于即是bufferedarry.length
DatagramPacket类供应了四个类来猎取信息
a)publicbyte[]getData()前往一个字节数组,包括收到或要发送的数据报中的数据
b)publicintgetLength()前往发送或吸收到的数据的长度
c)publicInetAddressgetAddress()前往一个发送或吸收此数据报包文的呆板的IP地点
d)publicintgetPort()前往发送或吸收数据报的远程主机的端标语。
3)创立完DatagramSocket和DatagramPacket对象,就能够发送数据报文包了。发送是经由过程挪用DatagramSocket对象的send办法完成,它必要以DatagramPacket对象为参数,将方才封装进DatagramPacket对象中的数据构成数据报收回。
4)固然,我们也能够吸收数据报文包,为了吸收从服务器前往的了局数据报文包,我们必要创立一个新的DatagramPacket对象,这就必要用到DatagramPacket的另外一种机关体例DatagramPacket(bytebufferedarray[],intlength),即只需指明寄存吸收的数据报的缓冲区和长度。挪用DatagramSocket对象的receive()办法来完成吸收数据报的事情,此时必要将下面创立的DatagramPacket对象作为参数,该办法会一向堵塞晓得收到一个数据报文包,此时DatagramPacket的缓冲区中包括的就是吸收到的数据,数据报文包中也包括发送者的IP地点,发送者呆板上的端标语等信息。
5)处置吸收缓冲区内的数据,猎取服务了局。
<p>
Java的桌面程序开发在java程序员里通常叫swing开发,主要用的swing包里的类开发的,也就是通常说的c/s架构开发
莫相离 该用户已被删除
沙发
发表于 2015-1-30 08:11:43 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-2-6 09:00:20 | 只看该作者
是一种使用者不需花费很多时间学习的语言
只想知道 该用户已被删除
地板
发表于 2015-2-11 08:30:49 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
老尸 该用户已被删除
5#
发表于 2015-3-2 03:36:40 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
变相怪杰 该用户已被删除
6#
发表于 2015-3-6 12:40:29 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
山那边是海 该用户已被删除
7#
发表于 2015-3-13 01:07:13 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
第二个灵魂 该用户已被删除
8#
发表于 2015-3-20 07:54:24 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
飘灵儿 该用户已被删除
9#
发表于 2015-4-12 06:56:38 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 07:51

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表