两台电脑直接想要达成通信需要的通讯要素:
1,找到对方的IP
2,数据发送到对方的指定的应用程序上。为了标识这些应用程序,所以给这些网络应用程序都用数字进行标识。为了方便称呼这个数字,叫做端口(逻辑端口)。
3,定义通讯规则。这个通讯规则成为协议。国际组织定义的通用协议名为TCP/IP。
127.0.0.1:本地回环地址,可用来测试本地网卡。
IP分为a.b.c.d四段。端口0~65535都可以使用,但 0~1024端口一般被系统程序保留,不建议使用。网络协议udp.tcp。
***事务比较复杂就用封装对象操作会简单些。
想拿到任意一台主机的IP地址:
String ad = InetAddress.getByName("hostname").getHostAddress();
System.out.println("hostname的IP地址是:"+ad);
网络协议TCP和UDP:
UDP:1.将数据及源和目的封装成数据包中,不需要建立连接。2.每个数据报的大小限制在64k内。3.因无连接,是不可靠协议。4.不需要建立连接,速度快。
TCP:1.建立连接,形成传输数据的通道。2.在连接中进行大数据量传输。3.通过三次握手完成连接,是可靠协议。4.必须建立连接,效率会稍低
Socket:
1.Socket就是为网络服务提供的一种机制。
2.通信的两端都有Socket。
3.网络通信其实就是Socket间的通信。
4.数据在两个Socket间通过IO传输。