您的位置:首页 > 理论基础 > 计算机网络

Java UDP网络编程 - 最简单示例

2014-09-11 17:21 786 查看




/**
*UDPServer
*@author Winty wintys@gmail.com
*@version 2008-12-15
*/
import java.io.*;
import java.net.*;

class UDPServer{
    public
static void main(String[] args)throws IOException{
DatagramSocket server = new DatagramSocket(5050);

        byte[] recvBuf =
new byte[100];
DatagramPacket recvPacket
            = new DatagramPacket(recvBuf , recvBuf.length);

        server.receive(recvPacket);

        String recvStr = new String(recvPacket.getData() ,
0 , recvPacket.getLength());
        System.out.println("Hello World!" + recvStr);

        int port = recvPacket.getPort();
        InetAddress addr = recvPacket.getAddress();
        String sendStr = "Hello ! I'm Server";
        byte[] sendBuf;
        sendBuf = sendStr.getBytes();
        DatagramPacket sendPacket
            = new DatagramPacket(sendBuf , sendBuf.length , addr , port );

        server.send(sendPacket);

        server.close();
    }
}

/**
*UDPClient
*@author Winty wintys@gmail.com
*@version 2008-12-15
*/
import java.io.*;
import java.net.*;

class UDPClient{
    public
static void main(String[] args)throws IOException{
        DatagramSocket client = new DatagramSocket();
       
        String sendStr = "Hello! I'm Client";
        byte[] sendBuf;
        sendBuf = sendStr.getBytes();
        InetAddress addr = InetAddress.getByName("127.0.0.1");
        int port = 5050;
        DatagramPacket sendPacket
            = new DatagramPacket(sendBuf ,sendBuf.length , addr , port);

        client.send(sendPacket);

        byte[] recvBuf =
new byte[100];
        DatagramPacket recvPacket
            = new DatagramPacket(recvBuf , recvBuf.length);
        client.receive(recvPacket);
        String recvStr = new String(recvPacket.getData() ,
0 ,recvPacket.getLength());
        System.out.println("收到:" + recvStr);

        client.close();
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: