网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.用Spring AOP实现开发中松散耦合.
.Java Servlet API说明文档(2.1a.
.用ApacheTorque项目来提升Java程.
.产生正确的行为.
.使用Spring来创建一个简单的工作.
.Java语言深入:对 java.lang 的研.
.基于mock对象和JUnit框架简化Spr.
.安全高效的使用PNG图.
.简析JAVA的XML编程.
.JAVA多态性.
.全面剖析Java 6中新型模态对话框.
.JDBC基础.
.分页JavaBean.
.各种系统安装J2SE5.0 JDK和NetBe.
.一些J2ME开发的FAQ.
.垃圾自动收集系统指导 (1).
.Sun预计在年底之前将公开全部Jav.
.专家释疑:轻松提高Java代码的性.
.getItem 方法.
.JavaServerPages基础.

如何在Java中利用数据包

发表日期:2008-1-5


UDP答应一个应用程序以架空的方式发送数据包并且它被用作一些重要的标准,比如DNS和RADIUS。尽管很多程序员不熟悉这个协议,因为对于程序来说它太难了,对于TCP来说它的使用的频率太低。但是,这个协议是非常值得我们去学习的,因为当你在没有创建TCP连接的时候,假如要在各程序之间以消息的形式改变数据,利用UDP是最适合的。当这个消息很短并且你不需要传统上的连接的时候,UDP将是最理想的协议。

UDP的基本形式

UDP以数据包的形式发送和接收数据。它和TCP不同的是,它没有连接的概念,每个数据包是单独的发送,并且没有发送的担保。当几个数据包被发送到相同的位置的时候,它们可以采用不同的顺序。假如你需要发送担保和分类担保,他们就必须有程序执行UDP的最高协议,这个协议在UDP的认证包,超时和中继,顺序包等等。或者你应该考虑使用TCP来代替。

和TCP一样,为了发送和接收数据包,你需要一个适当的网络插口,所以要Java.net.DatagraSocket 类。和TCP不同的是,客户插口和服务器插口没有区别,那就是说,一个DatagramSocket可以在任何时候发送和接收数据。

DatagramSocket虽然很方便,但是它的使用和机器的地址和端有关,这些取决于这个机器自己的构造器。这个关联决定了地址的来源和包传送的插口所在的端口,并且这个地址和插口的端口在接收数据时随时候命。

假如使用的电脑有多个IP地址,你可以将插口变为一个专用地址或者是通配符地址,专用地址是指电脑上所有的IP地址。在这种情况下插口会监听所有的即将到来的数据包,但是输出的数据包地址将由分界面决定,就是有连接电脑的路由器决定。



发送和接收数据

被发送或者接收数据是有java.net.DatagramPacket 类来决定的。假如你要发送数据包,你必须使用DatagramPacket包,设置你想发送包去的方位的端口和IP地址,并设置好数据的缓冲器。

在返回的时候, DatagramPacket的数据缓冲器将作为一个参数通过,这个参数把握了所有接收的数据。假如这个数据的大小大于缓冲器的大小,将把多余的字节删除,DatagramPacke同样将包含发送者的地址和端口。



连接远端端口

UDP的一个确定就是你必须在每个包上指定目的地的地址和端口。另外UDP插口会从任何主机上接收包,这样使你无法控制所接受的数据。

但是,DatagramPacket类提供了远程主机创建连接的概念,远程主机单一化的执行决定于UDP。这个单一的特点由DatagramSocket.connect()来执行,它用来连接插口到远程主机。

注重到连接通过过滤包裹发送和接收,那就是说,它并没有和远程主机建立一个真正的连接,所以,这个方法不象TCP,它自己不会发送任何数据包,也永远不会接受数据失败。


上一篇:软件开发规范(1) 人气:754
下一篇:Velocity中的变量问题的解决方法 人气:698
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐