网络编程--UDP程序设计

网络编程--UDP程序设计
UDP程序设计java

在TCP的索引操做都必须创建可靠地链接,这样一来确定会浪费大量的系统性能,为了减小这种开销,在网络中又提供了另一种传输协议---UDP,不可靠的链接,这种协议在各个聊天工具中被普遍的应用。UDP开发中使用DatagramPacket包装一条要发送的信息,以后使用DatagramSocket用于完成信息的发送操做。例如:如今使用聊天工具进行聊天的功能,那么A的发送的信息B不必定能够接受的到,由于使用的是UDP的协议。UDP中主要是使用数据报协议发送的。

DatagramPacket中的方法编程

是包含真实的是要发送的信息,称为数据报
全部的数据报使用DatagramPacket进行发送的操做
DatagramSocket服务器

那么若是要想运行程序,则在数据报的开发中,应该首先保证客户端要打开
[Java] 纯文本查看 复制代码
?网络

import java.net.DatagramPacket ;
import java.net.DatagramSocket ;工具

public class UDPClient{性能

public static void main(String args[]) throws Exception{    // 全部异常抛出
    DatagramSocket ds = null ;        // 定义接收数据报的对象
    byte[] buf = new byte[1024] ;    // 开辟空间,以接收数据
    DatagramPacket dp = null ;        // 声明DatagramPacket对象
    ds = new DatagramSocket(9000) ;    // 客户端在9000端口上等待服务器发送信息
    dp = new DatagramPacket(buf,1024) ; // 全部的信息使用buf保存
    ds.receive(dp)  ;    // 接收数据
    String str = new String(dp.getData(),0,dp.getLength()) + "from " + 
        dp.getAddress().getHostAddress() + ":" + dp.getPort() ;
    System.out.println(str) ;    // 输出内容
}

};
要进一步等待服务器发送信息
[Java] 纯文本查看 复制代码
?.net

import java.net.DatagramPacket ;
import java.net.DatagramSocket ;
import java.net.InetAddress ;设计

public class UDPServer{code

public static void main(String args[]) throws Exception{    // 全部异常抛出
    DatagramSocket ds = null ;        // 定义发送数据报的对象
    DatagramPacket dp = null ;        // 声明DatagramPacket对象
    ds = new DatagramSocket(3000) ;    // 服务端在3000端口上等待服务器发送信息\
    String str = "hello World!!!" ;
    dp = new DatagramPacket(str.getBytes(),str.length(),InetAddress.getByName("localhost"),9000) ; // 全部的信息使用buf保存
    System.out.println("发送信息。") ;
    ds.send(dp);    // 发送信息出去
    ds.close() ;
}

};
UDP 属于不可靠的链接协议,服务端发送的信息客户端未必接收的到,采用的是数据报的协议发送。对象

相关文章
相关标签/搜索