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

muduo网络模型

时间:2022-09-06 17:11:39浏览次数:56  
标签:muduo 模型 eventloop 网络 send 阻塞 线程

网络模型

  • 一个线程一个eventloop
  • 多个TCPServer和TCPClient可以共享同一个eventloop

文件传输

  • 使用TcpConn::send(),send保证数据会发送给对方,send是非阻塞的(即使output buffer满了,也不会阻塞当前线程),send是线程安全的(消息不会混叠交织,多线程发送顺序不确定)
  • 非阻塞网络编程中,发送消息由muduo完成,用户不需调用write或send等系统调用,因此TcpConn需要有output buffer
  • send(const Slice&)可以发送string和char,send(Buffer)不用const引用,是因为函数可能用Buffer::swap交换数据,避免内存拷贝(类似右值引用)

标签:muduo,模型,eventloop,网络,send,阻塞,线程
From: https://www.cnblogs.com/lygin/p/16662509.html

相关文章

  • CCPC2020网络预选赛(vp)
    比赛链接:https://vjudge.net/contest/513012C-ExpressMailTaking题意:有\(n\)个箱子,分别在\(a_1,a_2,...,a_n\)的位置,钥匙在\(k\)的位置,每去打开一个箱子......
  • 题解【CF1316E Team Building】网络流做法
    题目传送门。一眼费用流。然后发现题解区竟然全是状压DP?????推销一下本题状压DP的题解。那么我就来yy一下我的网络流做法吧,我会尽量把网络流的想法讲得自然一点。考......
  • 通过JSON处理网络信息
    在build.gradle中引用如下dependencies{ implementation'net.sf.json-lib:json-lib:2.2.3:jdk15'//jsonobjectimplementation'commons-beanutils:commons-b......
  • 在DJango中使用模型类时,出现一个DoesNotExist
    在使用Django去查询数据库时,如果不存在,会抛出一个异常。try:order=Order.objects.get(order_number=order_number)iforder.orde......
  • NAT网络地址转换技术
    一、NAT作用主要用于实现位于内部网络的主机访问外部网络的功能。当局域网内的主机需要访问外部网络时,通过NAT技术可以将其私网地址转换为公网地址,并且多个私网用户可以共......
  • 计算机网络学习笔记4(网络层)
    计算机网络学习笔记4(网络层)1.概述从发送端主机向接收端主机之间传输报文段在发送端要把报文段封装为数据包在接收端要传递报文段给运输层在每一个主机和路由......
  • 加拿大网络断网...
    加拿大网络断网...这甚至是2022年吗?Photoby杰里米·贝赞格on不飞溅2022年7月10日,加拿大的互联网瘫痪了。人们涌向咖啡店/图书馆上网。我无法与我的朋友取得......
  • 计算机网络(一)概述
    计算机网络在信息时代中的应用Internet是全球最大最重要的计算机网络中文译名互联网、因特网。注意互联网≠互连网互联网的两个重要基本特点连通性和资源共享互联网概......
  • win10遇到的网络问题
    问题1:网络适配器文件夹为空问题描述:由于连不上手机热点,导致自己去尝试了windows的网络重置功能。出现的问题:网络适配器文件夹为空,设备管理器中网络适配器栏里的项目......
  • DKK 模型
    QsymmPythonimportnumpyasnpimportsympyimportqsymm#SpatialinversionpU=np.array([[1.0,0.0,0.0],[0.0,1.0,0.0],[0.0,0.0,1.0]......