• 网络编程系列教材 (一)- IP地址与端口概念


    IP地址与端口概念

    步骤1:IP地址
    步骤2:端口
    步骤3:获取本机IP地址
    步骤4:ping命令
    步骤5:使用java 执行ping命令
    步骤6:练习-判断本网段有多少可用的ip地址
    步骤7:答案-判断本网段有多少可用的ip地址

    步骤 1 : IP地址

    在网络中每台计算机都必须有一个的IP地址; 
    32位,4个字节,常用点分十进制的格式表示,例如:192.168.1.100 
    127.0.0.1 是固定ip地址,代表当前计算机,相当于面向对象里的 "this"

    IP地址

    步骤 2 : 端口

    两台计算机进行连接,总有一台服务器,一台客户端。
    服务器和客户端之间的通信通过端口进行。如图:

    ip地址是 192.168.1.100的服务器通过端口 8080
    与ip地址是192.168.1.189的客户端 的1087端口通信

    端口

    步骤 3 : 获取本机IP地址

    获取本机IP地址

    package socket;

    import java.net.InetAddress;

    import java.net.UnknownHostException;

    public class TestSocket {

        public static void main(String[] args) throws UnknownHostException {

            InetAddress host = InetAddress.getLocalHost();

            String ip =host.getHostAddress();

            System.out.println("本机ip地址:" + ip);

        }

    }

    步骤 4 : ping命令

    使用ping判断一个地址是否能够到达
    ping不是java的api,是windows中的一个小工具,用于判断一个地址的响应时间

    如图
    ping 192.168.2.106 可以返回这个地址的响应时间 time<1ms表示很快,局域网一般就是这个响应时间

    ping 192.168.2.206 返回Request timed out表示时间较久都没有响应返回,基本判断这个地址不可用

    ping命令

    步骤 5 : 使用java 执行ping命令

    借助 Runtime.getRuntime().exec() 可以运行一个windows的exe程序
    如图,使用java运行 ping 192.168.2.106,返回这样的字符串

    使用java 执行ping命令

    package socket;

    import java.io.BufferedReader;

    import java.io.IOException;

    import java.io.InputStreamReader;

    public class TestSocket {

        public static void main(String[] args) throws IOException {

            Process p = Runtime.getRuntime().exec("ping " "192.168.2.106");

            BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));

            String line = null;

            StringBuilder sb = new StringBuilder();

            while ((line = br.readLine()) != null) {

                if (line.length() != 0)

                    sb.append(line + " ");

            }

            System.out.println("本次指令返回的消息是:");

            System.out.println(sb.toString());

        }

    }


    更多内容,点击了解: https://how2j.cn/k/socket/socket-ip-port/399.html

  • 相关阅读:
    c++3种内存管理方式
    什么是向上兼容和向下兼容?
    回溯法解马的遍历问题
    c++内联函数
    2009年NCRE考试有新变化
    sql server日期时间函数
    Web开发工具大集合
    javascript屏幕高度和宽度等信息代码
    gridview无数据行时显示表头的方法
    IE, FF, Safari前端开发常用调试工具
  • 原文地址:https://www.cnblogs.com/Lanht/p/12615442.html
Copyright © 2020-2023  润新知