网络编程
1.1、概述
信件:
网络编程的目的:
无线电台...传播交流信息,数据交换,通信
想要达到这个效果需要什么:
如何准确的定位网络上的一台主机: 192.168.16.124:端口。定位到这个计算机上的某个资源
找到了这个主机,如何传输数据?
Javaweb:网页编程 B/S
网络编程:TCP/IP C/S
1.2、网络通信的要素
如何实现网络的通信?
通信双方地址:
ip
端口号
规则:网络通信的协议
小结:
网路编程中有两个主要的问题:
。如何准确的定位到网路上的一台或多台主机
。找到主机之后如何进行通信
网络编程中的要素
。IP和端口号
。网路通信协议 udp tcp
万物皆对象
1.3、IP
IP地址:InetAddress
唯一定位一台网络上计算机
127.0.0.1:本机localhost
ip地址的分类
。IPV4/iPV6
。公网(互联网)-私网(局域网)
ABCD类地址
package com.zheng;
import java.net.InetAddress;
import java.net.UnknownHostException;
//测试IP
public class TestInetAddress {
public static void main(String[] args) {
try {
//查找本地地址
InetAddress byName = InetAddress.getByName("127.0.0.1");
System.out.println(byName);
InetAddress byName2 = InetAddress.getByName("localhost");
System.out.println(byName2);
InetAddress byName3 = InetAddress.getLocalHost();
System.out.println(byName3);
InetAddress byName1 = InetAddress.getByName("www.baidu.com");
System.out.println(byName1);
System.out.println(byName1.getAddress());
System.out.println(byName1.getCanonicalHostName());//规范的名字
System.out.println(byName1.getHostAddress());//IP
System.out.println(byName1.getHostName());//域名,或自己电脑的名字
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}
1.4、端口
端口表示计算机上的一个程序的进程:
。不同的进程有不同的端口号!用来区分软件
。被规定0-65535
。TCP/UDP:单个协议下,端口不能冲突
。端口分类
。公有端口0-1023
。HTTP:80
。HTTP:443
。FTP:21
。Telent: 23
.程序注册端口:1024-49151,分配用户或程序
。Tomcat : 8080
。MySQL : 3306
。Orcale : 1521
.动态、私有:49152-65535
package com.zheng;
import java.net.InetSocketAddress;
public class TestInetSocketAddress {
public static void main(String[] args) {
InetSocketAddress socketAddress = new InetSocketAddress("127.0.0.1", 8080);
InetSocketAddress socketAddress1 = new InetSocketAddress("localhost", 8080);
System.out.println(socketAddress);
System.out.println(socketAddress1);
System.out.println(socketAddress.getAddress());
System.out.println(socketAddress.getHostName());
System.out.println(socketAddress.getPort());
}
}
1.5、通信协议
协议:约定
网络通信协议:代码结构,传输控制...
大事化小:分层
TCP/IP协议策
重要:
TCP:用户传输协议
UDP:用户数据协议
出名的协议:
TCP:
IP:网络互连协议
TCP UDP 对比
TCP:打电话
。连接,稳定
。三次握手,四次挥手
A:你瞅啥?
B:瞅你咋地?
A:干一仗!
A:我要走了
B:你真的要走了嘛
B:你真的真的要走了嘛
A:我真的要走了
。客户端、服务端
。传输完成,释放连接,效率低
UDP:发短信
。不连接,不稳定
。客户端、服务端:没有明确的界限
。不管有没有准备好,都可以发给你...