首页 > 其他分享 >IOS网络模型

IOS网络模型

时间:2024-06-06 17:33:49浏览次数:16  
标签:模型 IOS 网络 TCP 阻塞 发送 send 数据

IOS网络模型

应用层: 内核缓冲区内封包(man 3 setsocketopt)

表示层:

会话层:

传输层: TCP头+有效数据

网络层: IP头+TCP头+有效数据

数据链路层: MAC头+IP头+TCP头+有效数据

物理层: 集中器,中继器


ps:TCP支持紧急数据,可以使用send+标记MSG_OOB,可以忽略内核缓冲区的最小值限制直接封包发送。send(fd,buff,MSG_OOB_)


面试提问:TCP时,如果接收端在进行recv阻塞,并把最小水位线变大,在这种情况下客户端给你发了一个紧急数据怎么处理?

答:客户端可以选择发送紧急的带外数据(out of band),此时需要使用send()去发送,然后每次只发送一个字节。

如果server收到了带外数据,则内核会向服务器进程发送一个信号。


面试提问:如果你想避免TCP长时间阻塞怎么做呢?

答:对于超时控制,服务器默认设置是阻塞模式,会阻塞在accept()函数的位置,调用setsockopt()函数进行设置,struct timeval


面试提问:多路复用处理服务器?

答:可以使用select()函数,如果没有设置timeval的数值就需要填NULL默认是阻塞,监控fd对象的变化。(TCP模型设计可以有:非阻塞、异步信号、时间轮询、多路复用等),要注意的点是每次select()执行完是会清空集合的,所以集合需要定义到循环里面,
select() 函数示意图:
image

标签:模型,IOS,网络,TCP,阻塞,发送,send,数据
From: https://www.cnblogs.com/zcx0326/p/18235691

相关文章

  • 使用AppJail配置网络并创建tiny jail(未成功)
    创建tinyjail成功了,但是网络配置这块,jail里只能ping通外面,而无法pkg更新软件。本文章是这篇文章Jail管理器AppJail的使用@FreeBSD-CSDN博客的网络篇。首先host主机配置pf防火墙参考这里:PacketFilter-AppJailHandbook 在/etc/rc.conf文件中添加pf_enable="YES"pflog_......
  • 产业,到底需要什么大模型?
    [产业究竟需要怎样的大模型?关于这个问题,本文作者便提出了他的看法,并总结了产业大模型目前阶段的三点落地挑战。一起来看看,或许可以帮助你更好地理解大模型与行业、与产业的融合。写下这篇的起因,是前不久的一件事。我们参与了一个大模型与行业结合的主题论坛。活动结束......
  • (一文读懂)大模型到底是怎么生成文字的?
    前言在人工智能的领域,大模型在去年已经成为了一个热门的话题。各大厂商如谷歌、微软、OpenAI等,都在积极研发和应用大模型技术。这些模型在语言理解、图像识别、推荐系统等方面都表现出了惊人的能力,甚至在某些任务上,已经超越了人类的表现。或许你用过,惊叹于它的神奇,或许......
  • 实战:干掉高德地图7.2.0版iOS客户端的反动态调试保护
    沙梓社snakeninny315年2月 高德是中国领先的数字地图内容、导航和位置服务解决方案提供商。苹果自带的地图采用的就是高德的数据,足见高德之权威 昨天突发奇想,对高德地图上中一个官方不提供的功能产生了浓厚的兴趣,试图通过hack的方式来实现这个功能。谁知刚架上LLDB......
  • InternLM2大模型
    InternLM2实战营第二期-笔记第一节课《书生·浦语大模型全链路开源体系》官网地址:书生·浦语官网课程录播视频链接地址:书生·浦语大模型全链路开源开放体系_bilibili2024.06.05训练营链接:书生·浦语大模型实战营第二期初夏专场InternLM大模型地址:InternLM大模型一......
  • Android网络请求:协程+Flow+Retrofit+OkHttp
    在Android开发中,网络请求是一个很常见的任务。随着Kotlin协程和Flow的流行,我们有了新的工具来优雅地处理网络请求。结合Retrofit和OkHttp,我们可以构建一个强大的、易于理解和维护的网络请求框架。一、Kotlin协程与FlowKotlin协程是Kotlin提供的一种轻量级线程管理方式。它......
  • JAVAEE值网络编程(2)_TCP流套接字及通信模型、TCP网络编程及代码实例
    前言 在上一节内容中,我们介绍了什么是套接字,以及使用UDP数据报套接字网络编程,最后我们还介绍了Java数据报套接字通信模型以及相关代码实例。在这一节我们将会介绍TCP流套接字编程。一、流套接字及通信模型1.1TCP套接字 TCP,即TransmissionControlProtocol(传输控制......
  • 【深度学习基础】模型文件介绍
    目录简介文件概述config.jsonmodel_state.pdparamsspecial_tokens_map.jsontokenizer_config.jsonvocab.txt文件内容解析如何查看和使用这些文件示例代码简介本文档详细介绍了深度学习训练过程中生成的关键文件,及其在模型加载和推理中的作用。这些文件包括模型配置文件......
  • 这才是CSDN最系统的网络安全学习路线(建议收藏)
    01什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如Web安全技术,既有Web渗透,也有W......
  • 【机器学习300问】108、什么是多项式回归模型?
    一、多项式回归是什么(1)举例说明        假设你经营着一家农场,想要根据土地面积来预测作物的产量。如果你只用线性模型(即),你可能会发现它并不足以描述实际的产量情况,因为实际产量可能会随着土地面积的增加而经历先快速增加然后趋于平缓的过程。线性回归模型......