网络编程概述和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啦

原文地址:https://www.cnblogs.com/xiangyangzhu/p/net_IpDemo.html