Socket
1.介绍:
Socket本质是编程接口,即我们通常所说的API。
2.具体内容:
作为一个API,它封装了TCP/IP(网络通信协议),同时TCP/IP也提供程序员用来做网络开发所用的接口。
3.通俗的说:
我们建立网络通信连接时,至少需要一对端口号。而这里的端口号就是“Socket”。
4.作用:(与Http作用一起)
Socket:相当于轿车发动机,提供了网络通信的能力;
Http:相当于一台轿车,封装或者显示数据。
5.应用:
a.TCP/IP通信图解:
用户进程(多个) -->应用层(客户端)
Socket(套接字接口) -->抽象层(封装了运输层,网络层,链路层)
TCP/UDP -->运输层
ICMP+IP+IGMP -->网络层
ARP+硬件接口+RARP -->链路层
媒体 -->服务器端
b.TCP/IP通信原理:
从服务器开始,先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,
等待客户端连接。在这时如果有个客户端初始化一个Socket,然后连接服务器(connect),如果连接成功
,这时客户端与服务器端的连接就建立了。客户端发送数据请求,服务器端接收并处理请求,然后把响应
数据发送给客户端,客户端读取数据,最后关闭连接,一次交互结束。
b.唯一标识:
” ip地址(网络层)+TCP协议(运输层)+端口(运输层)“,此标识符可唯一标识网络通信中不同进程。
6.设计模式:
Socket符合“Open-Write/Read-Close”设计模式。
7.查看本地(TCP)网络通信本地端口 命令行:
netstat。
当服务器没有客户端连接时,查看不到TCP网络通信端口。
8.(TCP)网络通信判断服务是否连接成功 命令行:
telnet ip地址 端口号。比如:”telnet 127.0.0.1 8500“,此命令就表示连接本地8500端口下的服务是否
能够连接成功。
当我们关闭服务器的监听时,客户端就不能连接到指定服务器。然后只有我们启动了服务器监听后客户端才
能连接到指定服务器。(注意:启动服务器后就会启动服务器监听)
Socket部分知识点学习掌握
最新推荐文章于 2022-07-17 16:21:50 发布