首页 > 代码库 > 170411、java Socket通信的简单例子(UDP)

170411、java Socket通信的简单例子(UDP)

服务端代码:

package com.bobohe.socket;
 
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();
    }
}

客户端代码:

package com.bobohe.socket;
 
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();
    }
}

 

170411、java Socket通信的简单例子(UDP)