仓酷云

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

[学习教程] 发布一篇Java套接字编程(下)

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:25:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
Java的B/s开发是通常是javaweb开发,又叫J2EE开发,J2SE是手机开发。C#的C/s和B/s开发是说.net网页编程和Asp开发。。u在这里说明一点;资深一点的Java和C#程序员都明白一点
自寻址套接字(DatagramSockets)
,由于利用流套接字的每一个毗连均要消费必定的工夫,要削减这类开支,收集API供应了第二种套接字:自寻址套接字(datagramsocket),自寻址利用UDP发送寻址信息(从客户程序到服务程序或从服务程序到客户程序),分歧的是能够经由过程自寻址套接字发送多IP信息包,自寻址信息包括在自寻址包中,别的自寻址包又包括在IP包内,这就将寻址信息长度限定在60000字节内。显现了位于IP包内的自寻址包的自寻址信息。

<br>
与TCP包管信息抵达信息目标地的体例分歧,UDP供应了别的一种办法,假如自寻址信息包没有抵达目标地,,那末UDP也不会哀求发送者从头发送自寻址包,这是由于UDP在每个自寻址包中包括了毛病检测信息,在每一个自寻址包抵达目标地以后UDP只举行复杂的毛病反省,假如检测失利,UDP将丢弃这个自寻址包,也不会从发送者那边从头哀求替换者,这与经由过程邮局发送函件类似,发信人在发信之前不必要与收信人创建毗连,一样也不克不及包管函件能抵达收信人那边
自寻址套接字事情包含上面三个类:DatagramPacket,DatagramSocket,和MulticastSocket。DatagramPacket对象刻画了自寻址包的地点信息,DatagramSocket暗示客户程序和服务程序自寻址套接字,MulticastSocket刻画了能举行多点传送的自寻址套接字,这三个类均位于java.net包内。
DatagramPacket类
在利用自寻址包之前,你必要起首熟习DatagramPacket类,地点信息和自寻址包以字节数组的体例同时紧缩进这个类创立的对象中
DatagramPacket无数个机关函数,即便这些机关函数的情势分歧,但一般情形下他们都有两个配合的参数:byte[]buffer和intlength,buffer参数包括了一个对保留自寻址数据包信息的字节数组的援用,length暗示字节数组的长度。
最复杂的机关函数是DatagramPacket(byte[]buffer,intlength),这个机关函数断定了自寻址数据包数组和数组的长度,但没有任何自寻址数据包的地点和端口信息,这些信息能够前面经由过程挪用办法setAddress(InetAddressaddr)和setPort(intport)增加上,上面的代码树模了这些函数和办法。
byte[]buffer=newbyte[100];
DatagramPacketdgp=newDatagramPacket(buffer,buffer.length);
InetAddressia=InetAddress.getByName("www.disney.com");
dgp.setAddress(ia);
dgp.setPort(6000);//Senddatagrampackettoport6000.
假如你更喜好在挪用机关函数的时分同时包含地点和端标语,可使用DatagramPacket(byte[]buffer,intlength,InetAddressaddr,intport)函数,上面的代码树模了别的一种选择。
byte[]buffer=newbyte[100];
InetAddressia=InetAddress.getByName("www.disney.com");
DatagramPacketdgp=newDatagramPacket(buffer,buffer.length,ia,
6000);
偶然候在创立了DatagramPacket对象后想改动字节数组和他的长度,这时候能够经由过程挪用setData(byte[]buffer)和setLength(intlength)办法来完成。在任什么时候候都能够经由过程挪用getData()来失掉字节数组的援用,经由过程挪用getLength()来取得字节数组的长度。上面的代码树模了这些办法:
byte[]buffer2=newbyte[256];
dgp.setData(buffer2);
dgp.setLength(buffer2.length);
关于DatagramPacket的更多信息请参考SDK文档。
<p>
Java的B/s开发是通常是javaweb开发,又叫J2EE开发,J2SE是手机开发。C#的C/s和B/s开发是说.net网页编程和Asp开发。。u在这里说明一点;资深一点的Java和C#程序员都明白一点
不帅 该用户已被删除
沙发
发表于 2015-1-21 06:09:17 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
admin 该用户已被删除
板凳
发表于 2015-1-25 18:38:57 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
精灵巫婆 该用户已被删除
地板
 楼主| 发表于 2015-2-1 19:39:23 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
山那边是海 该用户已被删除
5#
发表于 2015-2-2 21:39:14 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
兰色精灵 该用户已被删除
6#
发表于 2015-2-8 06:33:57 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
只想知道 该用户已被删除
7#
发表于 2015-2-8 15:40:15 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
老尸 该用户已被删除
8#
发表于 2015-2-25 19:44:16 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
再现理想 该用户已被删除
9#
发表于 2015-3-8 01:39:32 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
金色的骷髅 该用户已被删除
10#
发表于 2015-3-10 05:40:50 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
柔情似水 该用户已被删除
11#
发表于 2015-3-11 10:31:40 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
活着的死人 该用户已被删除
12#
发表于 2015-3-18 05:56:21 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
透明 该用户已被删除
13#
发表于 2015-3-25 12:26:16 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-15 13:54

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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