1.Socket是什么
Socket是应用层与传输层的一个抽象,将复杂的TCP/IP协议隐藏在socket接口后,只对应用层暴露简单的接口。
socket是一种特殊的文件,它也有文件描述符,进程可以打开一个socket,并且像处理文件一样对它进行read()和write()操作,而不关心数据是怎么在网络上传输的。
socket是一个tcp连接的两端。
2.Socket如何唯一标识一个进程
socket基于tcp协议实现,网络层的ip地址唯一标识一台主机,而传输层的协议+端口号可以唯一标识绑定到这个端口的进程。Bind()方法绑定到端口号
3.通信双方如何进行端口绑定
通常服务端启动时会绑定一个端口提供服务,而客户端在发起连接请求时会随机分配一个端口号
4.Socket和WebSocket的区别
Socket是应用层与传输层的一个抽象
WebSocket是应用层协议,它是基于TCP实现的,同时接住了HTTP协议建立连接
5.为什么项目中使用WebSocket技术
当处理页面数据自动更新时,在使用的js不断的请求服务器,查看是否有数据更新,如果有就获取到新数据,进行对页面信息的更新,但是当页面长时间没有数据更新时,这样就会存在资源浪费的情况,所以才会使用WebSocket来解决
6.UDP和TCP协议概念
1)TCP提供面向连接的传输,通信前需要先建立连接,是在连接好的通道上进行数据传输;UDP提供无连接的传输,通信前不需要