当前位置: 首页 > article >正文

【计算机网络 - 基础问题】每日 3 题(四十六)

✍个人博客:https://blog.csdn.net/Newin2020?type=blog
📣专栏地址:http://t.csdnimg.cn/fYaBd
📚专栏简介:在这个专栏中,我将会分享 C++ 面试中常见的面试题给大家~
❤️如果有收获的话,欢迎点赞👍收藏📁,您的支持就是我创作的最大动力💪
📝推荐参考地址:https://www.xiaolincoding.com/(这个大佬的专栏非常有用!)

136. 假设一台机器加入组播地址,需要把 IP 改成组播地址吗?如果离开某个组播地址,需要 DHCP 重新请求个 IP 吗?

组播地址不是用于机器 IP 地址的,因为组播地址没有网络号和主机号,所以跟 DHCP 没关系。组播地址一般是用于 UDP 协议,机器发送 UDP 组播数据时,目标地址填的是组播地址,那么在组播组内的机器都能收到数据包。

是否加入组播组和离开组播组,是由 socket 一个接口实现的,主机 IP 是不用改变的。

137. 什么是 WebSocket?

WebSocket 协议是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信,即允许服务器主动发送信息给客户端。因此,在 WebSocket 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输,客户端和服务器之间的数据交换变得更加简单。

应用场景:弹幕、在线教育、体育实况更新、视频会议和聊天等等。

总结:

  • TCP 协议本身是全双工的,但我们最常用的 HTTP/1.1,虽然是基于 TCP 的协议,但它是半双工的,对于大部分需要服务器主动推送数据到客户端的场景,都不太友好,因此我们需要使用支持全双工的 WebSocket 协议。
  • 在 HTTP/1.1 里,只要客户端不问,服务端就不答。基于这样的特点,对于登录页面这样的简单场景,可以使用定时轮询或者长轮询的方式实现服务器推送 (comet) 的效果。
  • 对于客户端和服务端之间需要频繁交互的复杂场景,比如网页游戏,都可以考虑使用 WebSocket 协议。
  • WebSocket 和 socket 几乎没有任何关系,只是叫法相似。
  • 正因为各个浏览器都支持 HTTP 协议,所以 WebSocket 会先利用 HTTP 协议加上一些特殊的 header 头进行握手升级操作,升级成功后就跟 HTTP 没有任何关系了,之后就用 WebSocket 的数据格式进行收发数据。

138. Websocket 和 http 的区别

1、含义不同

websocket:WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。

http:超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在 TCP 之上,是单向的通信协议。

2、连接方式不同

websocket:WebSocket 是需要浏览器和服务器握手进行建立连接的。

http:http 是浏览器发起向服务器的连接,服务器预先并不知道这个连接。

3、连接长度不同

websocket:websocket 是持久连接。

http:http 是短连接 (http 可以通过 Ajax 一直发送请求和长轮询保持一段时间内的连接,但本质上还是短连接)。

4、连接状态不同

websocket:websocket 是有状态的双向连接。

http:http 是无状态的单向连接。

5、协议开头不同

websocket:websocket 的协议是以 ws/wss 开头。

http:http 对应的是 http/https。


http://www.kler.cn/news/363318.html

相关文章:

  • 使用Python和Matplotlib模拟3D海浪动画
  • Unity 实现音频(mp3)可控制进度条
  • NLP 技术:AI 是如何理解人类语言的
  • 数学建模微分方程模型——传染病模型
  • 10.23六级翻译
  • Go:error处理机制和函数
  • MBI6665Q聚积升降压LED驱动芯片车规级AEC-Q100认证
  • 从0开始深度学习(15)——权重衰退法(L2正则化)
  • 5. AOP
  • 口含烟贴纸设计公司哪家好?
  • docker之redis安装(项目部署准备)
  • 从 0 开发一个系统
  • 渗透测试+oneforall+nmap+zenmap+7kbscan+dic+pkav+御剑+netcat
  • 吴伟仁《英国文学史及选读》第一二册课后答案PDF
  • 基于vue框架的的高校设备信息管理系统的设计与实现tx6d7(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
  • Python | Leetcode Python题解之第496题下一个更大元素I
  • NCU-机器学习-作业4:基于XGboost的收入分类预测
  • 我记不住的那些表达式求值
  • 决策树与随机森林在分类问题中的应用
  • 【C++】——多态(上)
  • Java 监听器示例(非界面)
  • 华为ICT题库-大数据部分
  • 【国潮来袭】华为原生鸿蒙 HarmonyOS NEXT(5.0)正式发布:鸿蒙诞生以来最大升级,碰一碰、小艺圈选重磅上线
  • 大模型干货 | 提示词工程十大技巧:释放大模型潜力的最佳工具
  • SpringMVC源码-异常处理机制
  • 找到连续赢 K 场比赛的第一位玩家