========================UDP=============================

UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。

UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。

由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。

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

public class UDPServer {
    public static void main(String[] args) {
        try {
            System.out.println("**服务器已经启动**");

            // 指定服务端口号、数据包大小
            int serverPort = 8800;
            byte[] data = new byte[1024];
            // 创建服务端DatagramSocket,并指定端口号
            DatagramSocket socket = new DatagramSocket(serverPort);

            /* UDP数据传输 */
            while (true) {

                /* 处理客户端的请求 */
                // 创建数据报DatagramPacket,用于接收客户端发送的数据
                DatagramPacket packet = new DatagramPacket(data, data.length);
                // 等待客户端的连接请求
                socket.receive(packet);
                // 获取客户端发送的数据
                String content = new String(data, 0, packet.getLength());

                /* 服务器处理任务 */
                System.out.println("处理需要转置的字符串:" + content);
                StringBuffer temp = new StringBuffer().append(content);
                // 倒置字符串
                content = new String(temp.reverse());

                /* 发送服务端响应 */
                // 定义客户端的地址、端口号、数据
                InetAddress address = packet.getAddress();
                int clientPort = packet.getPort();
                byte[] reply = content.getBytes();
                // 创建数据报,含响应的数据信息
                DatagramPacket packet2 = new DatagramPacket(reply, reply.length, address, clientPort);
                // 响应客户端
                socket.send(packet2);
            }
            // 关闭资源
//             socket.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
UDPServer.java

相关文章:

  • 2022-02-09
  • 2022-01-12
  • 2021-04-03
  • 2021-07-23
  • 2021-06-30
猜你喜欢
  • 2021-11-07
  • 2021-12-10
  • 2021-11-30
  • 2021-06-23
  • 2021-05-16
  • 2021-06-13
相关资源
相似解决方案