socket实现网络通信
1.1、网络通信的要素
通信双方的地址:
-
IP
-
端口号
-
例如:127.0.0.1:8080
网络通信的协议:
TCP/IP参考模型
总结:
-
网络编程中有两个问题
-
如何准确的定位到网络上的一台主机
-
找到主机之后如何进行通信
-
-
网络编程中的要素
-
IP和端口号(Port)
-
网络通信协议 UDP、TCP
-
1.2、IP
IP地址:InetAdress类
-
唯一定位一台网络上的计算机
-
127.0.0.1:本机IP(lochost)
-
IP地址分类
-
iPv4/ipv6
-
公网(互联网)-私网(局域网)
-
ADCD类地址
-
192.168.xxx.xxx组织内部专用
-
-
测试ip
import java.net.InetAddress;
import java.net.UnknownHostException;
//测试Ip
public class TextInetAdress {
public static void main(String[] args) {
try {
//通过名字返回本机IP
InetAddress inetAdress1 = InetAddress.getByName("127.0.0.1");
System.out.println(inetAdress1);
//通过名字查询百度网IP地址
InetAddress inetAdress2 = InetAddress.getByName("www.baidu.com");
System.out.println(inetAdress2);
//通过名字返回本机IP
InetAddress inetAdress3 = InetAddress.getByName("localhost");
System.out.println(inetAdress3);
//通过名字返回本机IP
InetAddress inetAdress4 = InetAddress.getLocalHost();
System.out.println(inetAdress4);
//常用方法
System.out.println(inetAdress2.getHostAddress());//规范的
System.out.println(inetAdress2.getCanonicalHostName());
System.out.println(inetAdress2.getHostName());
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}
</