频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

在Java编程语言中实现UDP协议编程的方法

来源: 作者:佚名 出处:巧巧读书 2008-03-31 进入讨论组
上一页 1 2 
    DatagramPacket类用于处理报文,它将Byte数组、目标地址、目标端口等数据包装成报文或者将报文拆卸成Byte数组。应用程序在产生数据包是应该注意,TCP/IP规定数据报文大小最多包含65507个,通常主机接收548个字节,但大多数平台能够支持8192字节大小的报文。
DatagramPacket类的构建器共有4个:


    DatagramPacket(byte[] buf, int length, InetAddress addr, int port):从Buf数组中,取出Length长的数据创建数据包对象,目标是Addr地址,Port端口。


    DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port):从Buf数组中,取出Offset开始的、Length长的数据创建数据包对象,目标是Addr地址,Port端口。


    DatagramPacket(byte[] buf, int offset, int length):将数据包中从Offset开始、Length长的数据装进Buf数组。


    DatagramPacket(byte[] buf, int length):将数据包中Length长的数据装进Buf数组。


    DatagramPacket类最重要的方法就是getData()了,它从实例中取得报文的Byte数组编码。


    简单的实例说明


    {接收数据的服务器}

    byte[] buf = new byte[1000];

    DatagramSocket ds = new DatagramSocket(12345);

    //开始监视12345端口

    DatagramPacket ip = new DatagramPacket(buf, buf.length);

    //创建接收数据报的实例

    while (true)

    {

    ds.receive(ip);

    //阻塞,直到收到数据报后将数据装入IP中

    System.out.println(new String(buf));

    }

    {发送数据的客户端}

    InetAddress target = InetAddress.getByName(“www.xxx.com“);

    //得到目标机器的地址实例

    DatagramSocket ds = new DatagramSocket(9999);

    //从9999端口发送数据报

    String hello = “Hello, I am come in!”;

    //要发送的数据

    byte[] buf = hello.getBytes();

    //将数据转换成Byte类型

    op = new DatagramPacket(buf, buf.length, target, 12345);

    //将BUF缓冲区中的数据打包

    ds.send(op);

    //发送数据

    ds.close();

    //关闭连接

更多文章 更多内容请看Java环境安装配置Java编程开发手册TCP/IP协议专题,或进入讨论组讨论。
上一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章