【网络编程】循环无连接服务器设计

简介: 【网络编程】循环无连接服务器设计

循环无连接服务器设计

题目:设计一个循环,无连接的回射服务器。设计和代码

设计思路无非是,服务器创建数据报socket,监听端口就行了,echo服务默认是7号端口。监听后有数据发送就用byte[]接收转为字符串打印,没什么问题再转为byte[]发送回去

首先是服务器的设计:

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UDPServer{
  public static void main(String[] args) throws Exception {
    //创建socket
    DatagramSocket socket = new DatagramSocket(7);
    System.out.println("服务器启动...");
    while(true){
      //创建接收缓存
        byte[] data = new byte[1024];
        DatagramPacket packet = new DatagramPacket(data, data.length);
        socket.receive(packet);
        String recive = new String(data, 0, packet.getLength());
        InetAddress id=packet.getAddress();
        System.out.println(id+"客户端发送:" + recive);
        //返回相同的内容
        byte[] data_ret=recive.getBytes();
        DatagramPacket packet_ret = new DatagramPacket(data_ret, data_ret.length, packet.getAddress(), packet.getPort());
        String ret = new String(data_ret);
        socket.send(packet_ret);
        System.out.println("返回消息:"+ret);
    }
  }
}

写完后,进行测试,如何测试?自己再写一个UDP发送工具

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;
public class UDPClient {
  public static void main(String[] args) throws IOException {
    DatagramSocket dsocket = new DatagramSocket();
    Scanner scan=new Scanner(System.in);
    String host = "127.0.0.1";
    int port = 7;
    //简单的模拟UDP发送
    while(true){
      System.out.print("发送:");
      String msg = scan.nextLine();
      InetAddress address = InetAddress.getByName(host);
      DatagramPacket packet = new DatagramPacket(msg.getBytes(), msg.length(), address, port);
      dsocket.send(packet);
    }
  }
}

启动服务器后:

不断用客户端发送消息:


服务器响应:




相关文章
|
24天前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
55 2
|
30天前
|
存储 安全 数据可视化
提升网络安全防御有效性,服务器DDoS防御软件解读
提升网络安全防御有效性,服务器DDoS防御软件解读
42 1
提升网络安全防御有效性,服务器DDoS防御软件解读
|
18天前
|
物联网 5G 数据中心
|
17天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
191 2
|
21天前
|
Docker 容器
docker swarm启动服务并连接到网络
【10月更文挑战第16天】
20 5
|
28天前
|
安全 网络架构
无线网络:连接未来的无形纽带
【10月更文挑战第13天】
63 8
|
1月前
|
IDE 网络安全 开发工具
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
本文介绍了如何使用VS Code通过Remote-SSH插件连接远程服务器进行代码开发,并与PyCharm进行了对比。作者认为VS Code在连接和配置多个服务器时更为简单,推荐使用VS Code。文章详细说明了VS Code的安装、远程插件安装、SSH配置文件编写、服务器连接以及如何在连接后切换文件夹。此外,还提供了使用密钥进行免密登录的方法和解决权限问题的步骤。
356 0
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
|
30天前
|
安全 区块链 数据库
|
30天前
|
Apache 数据中心 Windows
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?