【网络编程】基于TCP完成ECHO服务(更新)

简介: 【网络编程】基于TCP完成ECHO服务

ECHO服务: ECHO服务器仅返回它从客户处收集到的所有数据。是网络管理员测试可达性、调试协议软件及识别选路问题的重要工具,周知端口位于7


与此类似,Time服务的知名端口是37,记录了从1900年1月1日午夜起所经历的秒数;DATETIME服务的知名端口是13,允许获得当前的日期和时间


题目:

一.使用echo协议,编写程序测试主机可达性:它发送报文时对应答计时,以此测试可达性. 若5秒内收不到应答,则声明目的主机不可达, 进一步,估计网络延时。提交设计及程序代码


首先打开Telnet服务进行测试



然后使用telnet测试远程linux服务器,成功连上并返回结果



客户端发送代码以及注释

package my;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;
import java.util.Scanner;
public class Client {
    private static final BufferedReader KEYBOARD_INPUT = new BufferedReader(new InputStreamReader(System.in));
    public static String getString(String prompt) throws Exception { // 键盘信息
        System.out.print(prompt);
        String str = KEYBOARD_INPUT.readLine();
        return str;
    }
    public static void main(String[] args) throws Exception {
        //创建socket,指定ip和端口
        Socket client = new Socket("124.71.99.11", 7);
        //准备出Scanner与PrintWriter,一个读取服务器反馈消息,一个发送本地消息
        Scanner in = new Scanner(client.getInputStream());
        PrintStream out = new PrintStream(client.getOutputStream());
        //创建Scanner读取本地输入
        Scanner scan=new Scanner(System.in);
        boolean flag = true; // 循环标记
        while (flag) {
            long start = System.currentTimeMillis();
            System.out.print("发送:");
            String input = scan.nextLine().trim();
            //发送给服务器
            out.println(input);
            //服务器端有回应
            if (in.hasNext()) {
                System.out.println("接收:"+in.nextLine()); // 输出回应信息
            }
            if ("end".equalsIgnoreCase(input)) {
                flag = false; // 修改循环标记
            }
            long end = System.currentTimeMillis();
            System.out.println("延时:"+(end-start)+"毫秒");
        }
        scan.close(); // 关闭输入流
        out.close(); // 关闭输出流
        client.close(); // 关闭客户端
    }
}

实现echo结果如下:

相关文章
|
6天前
|
云安全 人工智能 安全
阿里云稳居公共云网络安全即服务市占率第一
日前,全球领先的IT市场研究和咨询公司IDC发布了《中国公有云网络安全即服务市场份额,2023:规模稳步增长,技术创新引领市场格局》报告。报告显示,阿里云以27.0%的市场份额蝉联榜首。
|
11天前
|
人工智能 安全 Cloud Native
|
17天前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
19天前
|
运维 安全 5G
|
25天前
|
Web App开发 缓存 网络协议
不为人知的网络编程(十八):UDP比TCP高效?还真不一定!
熟悉网络编程的(尤其搞实时音视频聊天技术的)同学们都有个约定俗成的主观论调,一提起UDP和TCP,马上想到的是UDP没有TCP可靠,但UDP肯定比TCP高效。说到UDP比TCP高效,理由是什么呢?事实真是这样吗?跟着本文咱们一探究竟!
49 10
|
24天前
|
Docker 容器
docker swarm启动服务并连接到网络
【10月更文挑战第16天】
21 5
|
25天前
|
负载均衡 网络协议 关系型数据库
docker swarm 使用网络启动服务
【10月更文挑战第15天】
21 4
|
26天前
|
Docker 容器
docker swarm 在服务中使用网络
【10月更文挑战第14天】
17 2
|
1月前
|
存储 安全 网络安全
云端盾牌:云计算时代的网络安全守护在数字化浪潮中,云计算以其高效、灵活的特性成为企业转型的加速器。然而,伴随其迅猛发展,网络安全问题亦如影随形,成为悬在每个组织头顶的达摩克利斯之剑。本文旨在探讨云计算服务中的网络安全挑战,分析信息安全的重要性,并提出相应对策,以期为企业构建一道坚实的云端防护网。
在当今这个数据驱动的时代,云计算已成为推动创新与效率的关键力量。它允许用户随时随地访问强大的计算资源,降低了企业的运营成本,加速了产品上市时间。但随之而来的网络威胁也日益猖獗,尤其是对于依赖云服务的企业而言,数据泄露、身份盗用等安全事件频发,不仅造成经济损失,更严重损害品牌信誉。本文深入剖析云计算环境中的安全风险,强调建立健全的信息安全管理机制的重要性,并分享一系列有效策略,旨在帮助企业和个人用户在享受云服务带来的便利的同时,也能构筑起强有力的网络防线。