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面试题整理相关推荐
- Java经典面试题整理及答案详解(八)
简介: Java经典面试题第八节来啦!本节面试题包含了进程.线程.Object类.虚拟内存等相关内容,希望大家多多练习,早日拿下心仪offer- 了解更多: Java经典面试题整理及答案详解(一) J ...
- 史上最全 BAT 大厂面试题整理
转载自 史上最全 BAT 大厂面试题整理!(速度收藏) 主要分为以下几部分: (1)java面试题 (2)Android面试题 (3)高端技术面试题 (4)非技术性问题&HR问题汇总 1 ja ...
- Android 最全 BATJ 大厂面试题整理!
最全 BATJ 大厂面试题整理!(速度收藏) 阿里职位层级(附P级详细要求) 互联网技术(java框架.分布式.集群)干货视频大全,不看后悔!(免费下载) 年入50万,程序员众生相 网上的都是按照公司 ...
- .Net 面试题整理(一)
.Net 面试题整理(一) 好久的资料了,拿出来分享给大家,主要是记录一些面试题整理. Main函数是什么?在程序中使用Main函数有什么需要注意的地方? Q:程序的入口函数!函数名字不能改变:一个程 ...
- 面:常见面试题整理(操作系统)
常见面试题整理(操作系统) 常见面试题整理(操作系统) 2018年03月08日 20:47:11 逃离地球的小小呆 阅读数:20782 (一)请分别简单说一说进程和线程以及它们的区别. 进程是具有一定 ...
- 常见面试题整理--操作系统篇(每位开发者必备)
这两日整理了很多编程方面的资料:教学视频.书籍资源以及实战项目全部放在了百度网盘里,资源的目录以及获取方式都放在了文末的图上,你可以直接翻至文末查看. 有过面试经历的人都知道操作系统是面试官必问的几大 ...
- 尚学堂Java面试题整理
博客分类: 经典分享 1. super()与this()的区别? - 6 - 2. 作用域public,protected,private,以及不写时的区别? - 6 - 3. 编程输出如下图形. ...
- Android 2017面试题整理
似乎自去年下半年以来,大家跳槽的少了,还有有些公司裁员了,前几年火热的移动端.前端岗位也越来越少,回归理性.现在各大公司对移动Android/ios的需求基本要求都是三年以上相关经验,有过大型互联网项 ...
- 2020最全的BAT大厂面试题整理改版
最全的BAT大厂面试题整理 版权声明:本文为博主原创文章,未经博主允许不得转载.https://www.jianshu.com/p/c70989bd5f29 转载请标明出处: https://www. ...
- Java常见面试题整理(一)
Java常见面试题整理 字符串 抽象类与接口 集合 多线程 锁 IO流 网络编程 字符串 主要包括String.StringBuffer和StringBuilder基本概念 String相关知识 St ...
最新文章
- mac地址扫描源码_iNet Network Scanner扫描网络,及时反馈WiFi信号强度!
- 5G时代到来,是机遇还是灾难?
- php 浏览器 打印控件,JavaScript_JavaScript 实现打印,打印预览,打印设置,WebBrowser是IE内置的浏览器控件 - phpStudy...
- 【转】刨根究底正则表达式(2):文本查找方式的演化历史
- CentOS 查看操作系统版本
- 【机器人学:运动规划】快速搜索随机树(RRT---Rapidly-exploring Random Trees)入门及在Matlab中演示
- cf Educational Codeforces Round 77 D. A Game with Traps
- 4.20 使用条件格式标识包含指定文本的单元格 [原创Excel教程]
- html5 统计图 等值线,浅谈WebGIS等值线模态前端展示生成绘制(算法经验)
- android手机蓝牙连接扫码枪,android 扫码枪解惑
- C语言经典编程282例08
- idea文件名颜色的区别
- Python问题:NotImplementedError: The confidence keyword argument is only available if OpenCV is install
- python中mysqldb模块_python之MySQLdb模块
- 服务器开机显示f1 f2,开机提示按F1/F2才能进入系统的解决方法
- 离线安装MySQL缺少libaio.so.1文件——并离线安装libaio.so.1
- cadence SPB17.4 - allegro - 尺寸标注
- [转载].NET商业软件源码保护
- ora-00942表或视图不存在,解决办法
- 【哈夫曼树】JZOJ_4210 我才不是萝莉控呢
热门文章
- 如何推导高斯过程回归以及深层高斯过程详解
- 【历史上的今天】8 月 21 日:谷歌创始人诞生;百度 360 搜索大战
- stm8用什么软件编程?stm8开发环境搭建手把手教程!
- Latex中的花体格式
- gg修改器修改数值没有用怎么办_gg修改器怎么用教学 gg修改器修改游戏方法介绍...
- Redis云管理平台CacheCloud
- 社交网络分析工具NetworkX和Gephi
- AgentWeb简易使用
- 西门子g120变频器接线图_西门子变频器G120如何通过速度限幅来避免飞车的发生...
- 西门子g120变频器接线图_西门子变频器G120应用技术手册