计算机网络:两台计算机
两台计算机通过网络进行通信要素:
① IP地址
② 协议(TCP(类似打电话,双方需要建立连接)、UDP(面向无连接的))
③ 端口号(门牌号)
协议:为进行网络中的数据交换提供一种规则(=语义+语法+规则),不同层有不同的规则
IP地址是一个逻辑地址,具有全球唯一性。IPV4——32位,四个字节,常用点分十进制的格式表示:192.168.0.16
最新的为IPV6,64位,2的63次方-1
端口:是一种抽象的软件结构。端口号使用一个16位的数字来表示,范围是0-65535,1024以下的端口号保留给预定义的服务。例如:http使用80端口
TCP/IP(网络通信模型) |
应用层 |
传输层 |
网络层 |
网络接口 |
TCP套接字
Java为TCP协议提供了两个类:Socket类和ServerSocket类。一个Socket实例代表了TCP连接的一端。一个TCP连接(TCP connection)是一条抽象的双向信道,两端分别由IP地址和端口号确定。在开始通信之前,要建立一个TCP连接,这需要先由客户端TCP向服务器端TCP发送连接请求。ServerSocket实例则监听TCP连接请求,并为每个请求创建新的Socket实例。也就是说,服务器端要同时处理ServerSocket实例和Socket实例,而客户端只需要使用Socket实例。
ServerSocket(int port) // 最常用的构造方法
// 成员方法
Setver.accept();
// 侦听并接受到此套接字的连接。此方法在连接传入之前一直阻塞。
// 有客户端连接之后,返回一个Socket对象
服务器主机:IP、主机名。 本机IP地址:127.0.0.1
Socket(String host,int port) // 最常用的构造方法
host:可以用IP、主机名来表示