Socket概念
-
Socket又称"套接字"
-
网络上的2个程序(客户端,服务端)通过一个双向的通信连接实现数据的交换(发送数据请求给服务端,服务端返回数据),这个连接的一端称为一个socket
-
应用程序通常通过"套接字"想网络发出请求或者应答网络请求
socket原理 -
IP地址(找服务器):网络上主机设备的唯一标识 (每个服务器都不一样)
-
端口号(定位应用程序):找到服务器(电脑)的哪个进程(应用程序)有效:0~65535
-
传输协议:TCP和UDP是传输方式,而HTTP/XMPP是数据传输格式
-
1、TCP(传输控制协议):用什么方式进行客户端和服务端的交互
1):建议连接,形成传输数据的通道。(插起电话线)http的连接方式就是TCP
2):在连接中进行大数据传输(数据大小不受限制)(随便打多久电话)
3):通过3次握手完成连接,是可靠协议,安全送达 (发送连接(打电话)-服务端相应(对方说话保证自己听到)-客户端回应(自己说话保证对方听到))
4):必须建立连接,效率会稍低 -
2、UDP(用户数据报协议)
1):将数据及源(自己的IP地址)和目的(别人的IP地址)封装成数据包中,不需要建立连接(没有3次握手)
2):每个数据报大小限制在64K之内
3):无需连接,不可靠协议(服务端/客户端可能会接受/发送不到数据 )
4):无需连接,速度快
Socket通信流程
Socket通信流程- 客户端长连接(即时通讯)和短连接(请求完服务器后就断开了与服务器的连接) 保存数据时间的问题,通常我们在即时通讯中要求长连接保证通讯的流畅性
网友评论