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面试题整理相关推荐

  1. Java经典面试题整理及答案详解(八)

    简介: Java经典面试题第八节来啦!本节面试题包含了进程.线程.Object类.虚拟内存等相关内容,希望大家多多练习,早日拿下心仪offer- 了解更多: Java经典面试题整理及答案详解(一) J ...

  2. 史上最全 BAT 大厂面试题整理

    转载自 史上最全 BAT 大厂面试题整理!(速度收藏) 主要分为以下几部分: (1)java面试题 (2)Android面试题 (3)高端技术面试题 (4)非技术性问题&HR问题汇总 1 ja ...

  3. Android 最全 BATJ 大厂面试题整理!

    最全 BATJ 大厂面试题整理!(速度收藏) 阿里职位层级(附P级详细要求) 互联网技术(java框架.分布式.集群)干货视频大全,不看后悔!(免费下载) 年入50万,程序员众生相 网上的都是按照公司 ...

  4. .Net 面试题整理(一)

    .Net 面试题整理(一) 好久的资料了,拿出来分享给大家,主要是记录一些面试题整理. Main函数是什么?在程序中使用Main函数有什么需要注意的地方? Q:程序的入口函数!函数名字不能改变:一个程 ...

  5. 面:常见面试题整理(操作系统)

    常见面试题整理(操作系统) 常见面试题整理(操作系统) 2018年03月08日 20:47:11 逃离地球的小小呆 阅读数:20782 (一)请分别简单说一说进程和线程以及它们的区别. 进程是具有一定 ...

  6. 常见面试题整理--操作系统篇(每位开发者必备)

    这两日整理了很多编程方面的资料:教学视频.书籍资源以及实战项目全部放在了百度网盘里,资源的目录以及获取方式都放在了文末的图上,你可以直接翻至文末查看. 有过面试经历的人都知道操作系统是面试官必问的几大 ...

  7. 尚学堂Java面试题整理

    博客分类: 经典分享 1. super()与this()的区别? - 6 -  2. 作用域public,protected,private,以及不写时的区别? - 6 -  3. 编程输出如下图形. ...

  8. Android 2017面试题整理

    似乎自去年下半年以来,大家跳槽的少了,还有有些公司裁员了,前几年火热的移动端.前端岗位也越来越少,回归理性.现在各大公司对移动Android/ios的需求基本要求都是三年以上相关经验,有过大型互联网项 ...

  9. 2020最全的BAT大厂面试题整理改版

    最全的BAT大厂面试题整理 版权声明:本文为博主原创文章,未经博主允许不得转载.https://www.jianshu.com/p/c70989bd5f29 转载请标明出处: https://www. ...

  10. Java常见面试题整理(一)

    Java常见面试题整理 字符串 抽象类与接口 集合 多线程 锁 IO流 网络编程 字符串 主要包括String.StringBuffer和StringBuilder基本概念 String相关知识 St ...

最新文章

  1. mac地址扫描源码_iNet Network Scanner扫描网络,及时反馈WiFi信号强度!
  2. 5G时代到来,是机遇还是灾难?
  3. php 浏览器 打印控件,JavaScript_JavaScript 实现打印,打印预览,打印设置,WebBrowser是IE内置的浏览器控件 - phpStudy...
  4. 【转】刨根究底正则表达式(2):文本查找方式的演化历史
  5. CentOS 查看操作系统版本
  6. 【机器人学:运动规划】快速搜索随机树(RRT---Rapidly-exploring Random Trees)入门及在Matlab中演示
  7. cf Educational Codeforces Round 77 D. A Game with Traps
  8. 4.20 使用条件格式标识包含指定文本的单元格 [原创Excel教程]
  9. html5 统计图 等值线,浅谈WebGIS等值线模态前端展示生成绘制(算法经验)
  10. android手机蓝牙连接扫码枪,android 扫码枪解惑
  11. C语言经典编程282例08
  12. idea文件名颜色的区别
  13. Python问题:NotImplementedError: The confidence keyword argument is only available if OpenCV is install
  14. python中mysqldb模块_python之MySQLdb模块
  15. 服务器开机显示f1 f2,开机提示按F1/F2才能进入系统的解决方法
  16. 离线安装MySQL缺少libaio.so.1文件——并离线安装libaio.so.1
  17. cadence SPB17.4 - allegro - 尺寸标注
  18. [转载].NET商业软件源码保护
  19. ora-00942表或视图不存在,解决办法
  20. 【哈夫曼树】JZOJ_4210 我才不是萝莉控呢

热门文章

  1. 如何推导高斯过程回归以及深层高斯过程详解
  2. 【历史上的今天】8 月 21 日:谷歌创始人诞生;百度 360 搜索大战
  3. stm8用什么软件编程?stm8开发环境搭建手把手教程!
  4. Latex中的花体格式
  5. gg修改器修改数值没有用怎么办_gg修改器怎么用教学 gg修改器修改游戏方法介绍...
  6. Redis云管理平台CacheCloud
  7. 社交网络分析工具NetworkX和Gephi
  8. AgentWeb简易使用
  9. 西门子g120变频器接线图_西门子变频器G120如何通过速度限幅来避免飞车的发生...
  10. 西门子g120变频器接线图_西门子变频器G120应用技术手册