分享下socket的基础知识
1.网络基础知识
两台计算器要进行网络通信,每台计算机需要有自己的唯一标识(就是IP),需要有共同的语言(就是协议),每台计算机要有不同的端口号。
1.1 TCP/IP协议
TCP/IP是目前世界上应用最广泛的协议
是以TCP和IP为基础的不同层次上多个协议的集合
也称:TCP/IP协议族 或 TCP/IP 协议栈
TCP:Transmission Control Protocol 传输控制协议
IP:Internet Protocol 互联网协议
1.2 TCP/IP 模型
1.3 IP
IP就是指计算机的唯一标识,例如192.168.0.1
1.4 端口
- 区分不同的应用程序
- 端口号的范围是0~65535,其中0~1023为系统所保留
- IP地址和端口号组成了所谓的Socket,Socket是网络上运行的程序之间双向通信链路的终结点,是TCP和UDP的基础
- http:80 ftp:21 telnet:23
1.5 java中的网络支持
针对网络通信的不同层次,java提供的网络功能有四大类:
- InetAddress:用于标识网络上的硬件资源
- URL:统一资源定位符 通过URL可以直接读取或写入网络上的数据
- Sockets:使用TCP协议实现网络通信的Socket相关的类
- Datagram:使用UDP协议,将数据保存在数据报中,通过网络进行通信