zoukankan      html  css  js  c++  java
  • 网络编程概述和IP地址的获取方法

    java网络通信概述

    一、网络通信步骤:

      主机1   主机2

    QQ-------QQ

    FEIQ-----FEIQ

      1.找到对方IP。

      2.找到对方端口号。数据要发送到对方的应用程序上。为了标识这些应用程序,所以给这些网络应用程序都用数字进行标识。   为了方便称呼这个数字,叫做端口。注意此处是逻辑端口。

      3.定义通信规则。这个通讯规则称为协议。 国际组织定义了通用的协议TCP/IP。

    二、备注说明:

      为了安全起见,一些单位,特别是保密工作,用的协议和大家用的协议都不一样,那么别人想入侵他根本入侵不了,除非破解协议。

      127.0.0.1本地回环地址。也就是说如果本机没有配置任何地址时候默认地址。 用途之一:测试网卡。ping 127.0.0.1

      192端,保留地址段。用于局域网。

    三、端口范围

      端口 0--65535  

      一般来说:0--1024 系统程序保留,一般开发程序不用,防止冲突。

       常见端口:web-80;tomcat-8080;mysql:3306。

    四、通讯规则:UDP、TCP

    五、网络模型:

      不同功能层次比较细致的划分。

      OSI参考模型:物理层、数据链路层、网络层、会话层、表示层、应用层。

      数据封包(发送者)————>数据拆包(接收者)应用层看数据属于哪个端口,然后数据解析。

      TCP/IP参考模型:应用层(http)、传输层(TCP/UDP)、网际层(IP)、主机至网络层。

      java基础基本都是在传输层和网际层操作的,暂且不考虑应用层。 IP:网络中的设备标识--不易记忆,可用主机名--本地回环地址:127.0.0.1 主机名:localhost

    六、java方法获取本机和网络上主机的IP地址

    1.首先导入net包
    2.生成IP地址对象
    3.解析IP地址对象,分为地址和主机名。一般网络上主机名不一定能解析出来。 

     1 import java.net.*;
     2 
     3 class  IPDemo
     4 {
     5     public static void main(String[] args) throws Exception //异常必须处理或者抛出
     6     {
     7         InetAddress i=InetAddress.getLocalHost(); //获取本机IP地址对象
     8         System.out.println(i.toString());//打印本机IP地址对象,转换成字符创打印
     9 
    10         System.out.println("Address:"+i.getHostAddress());//获取本机IP地址
    11         System.out.println("name:"+i.getHostName());//获取本机IP地址名称
    12 
    13         //获取任意一台主机IP地址对象,如果这个地址和他对应的主机名没有在网络上
    14         //我这个主机照这个地址没找到,没解析成功。IP地址对象的名称仍然是IP地址。
    15         InetAddress ia=InetAddress.getByName("192.168.1.254");
    16         //InetAddress ia=InetAddress.getByName("cxxy.seu.edu.cn");
    17         //InetAddress ia=InetAddress.getByName("www.baidu.com");//只适合单一地址
    18         //若返回的IP地址对象不唯一。那么往里面传主机名,返回的是IP地址对象数组,方法:static InetAddress[] getAllByName(String host)
    19         System.out.println("Address:"+ia.getHostAddress());//获取本机IP地址
    20         System.out.println("name:"+ia.getHostName());//获取本机IP地址名称    
    21     
    22     }
    class IPDemo

     七、用java获取本机IP对象的四种方法

      本机IP对象对于在网络通信中十分重要。

    InetAddress addr=InetAddress.getLocalHost();
    InetAddress addr = InetAddress.getByName(null);
    InetAddress.getByName("localhost");
    InetAddress.getByName("127.0.0.1");
    补充一种查看IP地址对象方法:
    运行-->cmd-->ipconfig;里面有地址类型,子网掩码,默认网关,IP地址等信息。
    如果是查看MAC的IP地址,可以按楼上的方法,cmd中输入“ipconfig/all”命令,Physical Address 物理地址,就是本机IP啦

  • 相关阅读:
    pyCharm报错"your evaluation license has expired, pycharm will now exit"解决方法(实测)
    (转)python selenium-webdriver 元素操作之鼠标和键盘事件
    转载:PICT使用教程(设计测试用例工具)
    转载:小米电视怎么安装爱奇艺
    关于VMware 15搭建MacOS 10.14后无法播放在线视频和客户端视频的问题
    Reference resources
    centos7 启用iptables
    disabling IPv6 name/address support: Address family not supported by protocol
    rngd.service 启动失败的处理
    mdadm Raid5 /dev/md0 lost a disk and recovery from another machine
  • 原文地址:https://www.cnblogs.com/xiangyangzhu/p/net_IpDemo.html
Copyright © 2011-2022 走看看