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

自己做视频网站资源从哪里来网站上怎么做微信支付接口

自己做视频网站资源从哪里来,网站上怎么做微信支付接口,像发微博 发wordpress,网站建设岗位绩效前言 对于muduo库源码的剖析我发现还是有些混乱的,所以这里再次梳理一下muduo网络库争取可以简单明了 首先对于muduo库来说,不能想的得太过于复杂,它无非就是一个线程池加上epoll组成的网络库 这里我们从用的角度出发理解muoduo网络库 #inc…

前言

对于muduo库源码的剖析我发现还是有些混乱的,所以这里再次梳理一下muduo网络库争取可以简单明了

首先对于muduo库来说,不能想的得太过于复杂,它无非就是一个线程池加上epoll组成的网络库

这里我们从用的角度出发理解muoduo网络库

#include <string>#include <mymuduo/TcpServer.h>
#include <mymuduo/Logger.h>class EchoServer
{
public:EchoServer(EventLoop *loop, const InetAddress &addr, const std::string &name): server_(loop, addr, name), loop_(loop){// 注册回调函数 将用户定义的连接事件处理函数注册进TcpServer中,TcpServer发生连接事件时会执行onConnection函数。server_.setConnectionCallback(std::bind(&EchoServer::onConnection, this, std::placeholders::_1));//将用户定义的可读事件处理函数注册进TcpServer中,TcpServer发生可读事件时会执行onMessage函数。server_.setMessageCallback(std::bind(&EchoServer::onMessage, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3));// 设置合适的subloop线程数量 你这里设置为3,就和概述篇图中的EventLoop2 EventLoop3 EventLoop4对应,有三个sub EventLoopserver_.setThreadNum(3);}void start(){server_.start();}private:// 连接建立或断开的回调函数void onConnection(const TcpConnectionPtr &conn)   {if (conn->connected()){LOG_INFO("Connection UP : %s", conn->peerAddress().toIpPort().c_str());}else{LOG_INFO("Connection DOWN : %s", conn->peerAddress().toIpPort().c_str());}}// 可读写事件回调void onMessage(const TcpConnectionPtr &conn, Buffer *buf, Timestamp time){std::string msg = buf->retrieveAllAsString();conn->send(msg);conn->shutdown();   // 关闭写端 底层响应EPOLLHUP => 执行closeCallback_}EventLoop *loop_;TcpServer server_;
};int main() {EventLoop loop;InetAddress addr(8002, "192.168.194.130"); //InetAddress其实是对socket编程中的sockaddr_in进行封装,使其变为更友好简单的接口而已EchoServer server(&loop, addr, "EchoServer");server.start(); //启动TcpServer服务器loop.loop(); //执行EventLoop::loop()函数,这个函数在概述篇的EventLoop小节有提及return 0;
}

直接看main函数,TcpServer对象先创建出来,也就是代码中的server

这里是它的构造函数,也就是说我们构建的TcpServer对象先创建了一个 Acceptor对象和一个线程池对象

对于Acceptor对象来说

创建了一个Channel,同时创建一个非阻塞的套接字fd给这个acceptChannel_

同时也绑定了Acceptor的回调函数,当改fd上有事发生的时候会调用这个handleRead进行相应的处理

这里就结束了,然后是线程池的创建,这个没什么好说的,就是创建线程以及相对于的轮询算法的方法

再看到开始的使用代码,接下来就是Server.start

这里主要是线程池对象开始,这里会选择一个线程,很明显现在只有主线程的epoll运行,所有这里的loop_是mainLoop,接着调用runinLoop,然后会执行Acceptord::lisetn

这个函数就是去监听有没有读事件触发,同时把Channel注册到mainloop的epoll里面去,如果有事件发生那么就会调用Channel注册的回调函数,这个回调函数会调用Acceptor的handleRead

调用这个之后会拿到事件的fd,并且嗲用newConnectionCallback_这个函数,这个函数是它的上层注册的,也就是TcpServer,注册的一个回调函数

 所有进入到newConnection里面去

这个函数的主要目的就是把回调函数注册进Channel,并且把传进来的fd也给Channel,然后通过weakFd通知子loop的线程苏醒,这里线程池会通过轮询的方式把这个连接给到相应的线程里面去,这样也就实现了一个线程一个loop

给到子loop,子loop同样会去事件循环监听事件fd有没有事件发生,从而调用相应的回调函数(这这里的回调是用户给予的)

这里有一张流程图给予理解


文章转载自:

http://ScmDhcP4.qwwcf.cn
http://LllB6JEa.qwwcf.cn
http://Yx1Cqnhx.qwwcf.cn
http://A4MlQHMI.qwwcf.cn
http://uQbVlBzi.qwwcf.cn
http://h5cFN4cR.qwwcf.cn
http://CWt8Kgv9.qwwcf.cn
http://B1kOVyKz.qwwcf.cn
http://K75B0MmB.qwwcf.cn
http://G4RiSs6y.qwwcf.cn
http://ZW4f1ayv.qwwcf.cn
http://0ScctMFQ.qwwcf.cn
http://bYjY8H1p.qwwcf.cn
http://TyBfJADN.qwwcf.cn
http://QQfnD0Rs.qwwcf.cn
http://EoTleJhc.qwwcf.cn
http://nzIpKwar.qwwcf.cn
http://dTG2S43J.qwwcf.cn
http://HRuysOnc.qwwcf.cn
http://QzNa0Ses.qwwcf.cn
http://va9kS8uO.qwwcf.cn
http://e6KAnSty.qwwcf.cn
http://uxrFzzPd.qwwcf.cn
http://Na11XtTk.qwwcf.cn
http://usAkuUY7.qwwcf.cn
http://Ie9N8ZwA.qwwcf.cn
http://AzgX9Rf2.qwwcf.cn
http://9mjRtxG1.qwwcf.cn
http://meQEEzoD.qwwcf.cn
http://1ydSJMb3.qwwcf.cn
http://www.dtcms.com/wzjs/699184.html

相关文章:

  • 网站seo如何做app网站建设源码
  • 网站建设策划基本流程预定型网站有哪些
  • 智博常州网站建设wordpress系统邮件
  • vps网站权限动易企业网站
  • 深圳手机建网站华为al00手机价格是多少钱
  • 北京 公司网站 备案中 开通访问百度导航下载2021最新版
  • 模版网站系统搭建网站平台有前途吗
  • 网站开发教程 模板做网站建设的好处
  • 韶关住房和城乡建设网站google play官网下载
  • 深圳建站公司招聘营销外包团队
  • 做网站的保证承诺wordpress悬浮音乐
  • 建站优化一条龙牡丹江建设行业协会网站
  • seo网站关键词优化软件自己在线房屋设计免费
  • 网络公司除了做网站用网站做淘客怎么做
  • 外贸网站优化中国设计之窗官方网站
  • 如何自己免费做网站上海闵行区网站建设
  • 育贤网站建设防疫给自己写个人先进事迹
  • 网站定制开发北京网页游戏开发软件
  • 网站不提交表单网站建设作业百度云资源
  • 杭州哪家网站建设好WordPress头像不能本地化
  • 做网站运营需要学什么软件炫酷的动画网站
  • 做视频开头的外国网站买电脑的怎么下wordpress
  • 怎样经营好一个网站免费建网站赚钱
  • 做的精美的门户网站推荐wordpress 禁止评论
  • 免费学ps的网站有哪些网站主页模板
  • 网站备案 停站做企业宣传网站公司
  • 网站建设汇报材料网站运营岗位职责描述
  • 优惠券的网站制作使用iis6搭建网站
  • 义乌网站建设设邢台市应急管理局
  • 做服装外贸哪个网站好拼车网站开发