我是靠谱客的博主 伶俐鼠标,最近开发中收集的这篇文章主要介绍Socket面试题整理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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提供无连接的传输,通信前不需要建立连接
2)TCP提供可靠的传输(有序,无差错,不丢失,不重复);UDP提供不可靠的传输
3)TCP面向字节流传输,因此它能将信息分割成组,并在接收端将其重组;UDP是面向数据报的传输,没有分销开组
4)TCP提供拥塞控制和流量控制机制;UDP不提供拥塞控制和流量控制机制

7.全双工、半双工、单工通信协议概念
全双工是通信传输的一个术语。通信允许数据在两个方向上同时传输,它在能力上相当于两个单工通信方式的结合。全双工指可以同时进行信号的双向传输。
1)全双工:在同一时刻两个用户可以同时给对方传送数据,例如手机就是全双工
2)半双工:例如对讲机,当A按住通话按钮才可以向B传送数据,B也是一样,在同一时刻只有一个用户能够传送数据
3)单工:我们看电视时,只能接收对方发送的信息,不能给对方传递信息

8.HTTP和WebSocket的区别
http协议是短链接,因为请求之后,都会关闭连接,下次重新请求数据,需要再次打开连接。WeSocket是一种长连接,只需要通过一次请求来初始化连接,然后所有的请求和响应都是通过这个TCP连接进行通信的

最后

以上就是伶俐鼠标为你收集整理的Socket面试题整理的全部内容,希望文章能够帮你解决Socket面试题整理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部