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

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

2013-11-20 08:48 633 查看




/**

 *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();

    }

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