<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/aotui2000</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; aotui2000]]></copyright><item><title><![CDATA[网络编程入门11]]></title><link>https://blog.youkuaiyun.com/aotui2000/article/details/101110965</link><guid>https://blog.youkuaiyun.com/aotui2000/article/details/101110965</guid><author>aotui2000</author><pubDate>Sat, 10 Aug 2019 13:39:00 +0800</pubDate><description><![CDATA[用了这几天的时间，把muduo这个库算是看完了，看完了之后回过头来发现自己的记录里感觉啥都没写。写一下服务器端启动的流程吧
服务器端main函数里定义一个EvetnLoop,属于主事件循环，主事件循环里有一个轮训器，可以向其中注册自己关心的文件描述符，在每次轮询时可以进行查找，创建TcpServer, TcpServer里有有一个接收器Accepter, 接收区里关注一个socketid...]]></description><category></category></item><item><title><![CDATA[网络编程入门10]]></title><link>https://blog.youkuaiyun.com/aotui2000/article/details/101110929</link><guid>https://blog.youkuaiyun.com/aotui2000/article/details/101110929</guid><author>aotui2000</author><pubDate>Fri, 09 Aug 2019 11:57:00 +0800</pubDate><description><![CDATA[TcpConnection.h
void muduo::net::defaultConnectionCallback(const TcpConnectionPtr&amp; conn)
{
  LOG_TRACE &lt;&lt; conn-&gt;localAddress().toIpPort() &lt;&lt; " -&gt; "
            &lt;&lt; conn...]]></description><category></category></item><item><title><![CDATA[网络编程入门09]]></title><link>https://blog.youkuaiyun.com/aotui2000/article/details/101110952</link><guid>https://blog.youkuaiyun.com/aotui2000/article/details/101110952</guid><author>aotui2000</author><pubDate>Thu, 08 Aug 2019 19:12:00 +0800</pubDate><description><![CDATA[EventLoop.h
eventfd 是 Linux 的一个系统调用，创建一个文件描述符用于事件通知，自 Linux 2.6.22 以后开始支持。
`#include &lt;sys/eventfd.h&gt;`
`int eventfd(unsigned int initval, int flags);`
eventfd() 创建一个 eventfd 对象，可以由用户空间应用程序实现...]]></description><category></category></item><item><title><![CDATA[网络编程入门08]]></title><link>https://blog.youkuaiyun.com/aotui2000/article/details/101110960</link><guid>https://blog.youkuaiyun.com/aotui2000/article/details/101110960</guid><author>aotui2000</author><pubDate>Thu, 08 Aug 2019 11:45:00 +0800</pubDate><description><![CDATA[net模块
Callbacks.h
template&lt;typename T&gt;
inline T* get_pointer(const std::shared_ptr&lt;T&gt;&amp; ptr)   //返回shard_ptr的裸指针，感觉意义不大的一个函数
{
  return ptr.get();
}

template&lt;typename T&gt;
inl...]]></description><category></category></item><item><title><![CDATA[网络编程入门07]]></title><link>https://blog.youkuaiyun.com/aotui2000/article/details/101110946</link><guid>https://blog.youkuaiyun.com/aotui2000/article/details/101110946</guid><author>aotui2000</author><pubDate>Thu, 08 Aug 2019 10:35:00 +0800</pubDate><description><![CDATA[LogStream.h
const int kSmallBuffer = 4000;
const int kLargeBuffer = 4000*1000;
temlpate &lt;int SIZE&gt;
class FixedBuffer{
private:
  void (*cookie_)();
  char data_[SIZE];
  char* cur_;
public:...]]></description><category></category></item><item><title><![CDATA[网络编程入门06]]></title><link>https://blog.youkuaiyun.com/aotui2000/article/details/101110955</link><guid>https://blog.youkuaiyun.com/aotui2000/article/details/101110955</guid><author>aotui2000</author><pubDate>Wed, 07 Aug 2019 17:45:00 +0800</pubDate><description><![CDATA[muduo base模块中关于线程大部分都看完了，看看关键计时功能的实现把
Date.h

struct tm {
int tm_sec; /* 秒 – 取值区间为[0,59] /
int tm_min; / 分 - 取值区间为[0,59] /
int tm_hour; / 时 - 取值区间为[0,23] /
int tm_mday; / 一个月中的日期 - 取值区间为[1,31] /
...]]></description><category></category></item><item><title><![CDATA[网络编程入门05]]></title><link>https://blog.youkuaiyun.com/aotui2000/article/details/101110934</link><guid>https://blog.youkuaiyun.com/aotui2000/article/details/101110934</guid><author>aotui2000</author><pubDate>Tue, 06 Aug 2019 00:23:00 +0800</pubDate><description><![CDATA[这几天因为工作需求，学习了多线程编程，用线程池写了一个小工具，对于网络库的回调，多线程理解加深了一层理解。发觉，利用理解多线程，理解这些小的组件，也非常重要。被工作打断，直接阅读net模块有点难度，打算从base模块阅读起。
class noncopyable{}    //把赋值构造和赋值操作直接删除，默认构造和析构使用默认操作。
class copyable{}  //把构造和析构设...]]></description><category></category></item><item><title><![CDATA[网络编程入门04]]></title><link>https://blog.youkuaiyun.com/aotui2000/article/details/101110941</link><guid>https://blog.youkuaiyun.com/aotui2000/article/details/101110941</guid><author>aotui2000</author><pubDate>Fri, 26 Jul 2019 18:25:00 +0800</pubDate><description><![CDATA[Poll函数
#include &lt;poll.h&gt;
　　int poll(struct pollfd fd[], nfds_t nfds, int timeout);

　   参数：

　　 1）第一个参数:一个结构数组,struct pollfd结构如下：

　　struct pollfd{

　　int fd;              //文件描述符

　　short ...]]></description><category></category></item><item><title><![CDATA[网络编程入门03]]></title><link>https://blog.youkuaiyun.com/aotui2000/article/details/101110949</link><guid>https://blog.youkuaiyun.com/aotui2000/article/details/101110949</guid><author>aotui2000</author><pubDate>Fri, 26 Jul 2019 16:34:00 +0800</pubDate><description><![CDATA[Socket.h Socket.cc
class Socket实际上没有写什么东西，几乎都是在调用moduo::net::socket下的一些函数
出现了两个新的类 tcp_info 与 InetAddress
#define TCPI_OPT_TIMESTAMPS 1
#define TCPI_OPT_SACK 2
#define TCPI_OPT_WSCALE 4
#define T...]]></description><category></category></item><item><title><![CDATA[网络编程入门02]]></title><link>https://blog.youkuaiyun.com/aotui2000/article/details/101110947</link><guid>https://blog.youkuaiyun.com/aotui2000/article/details/101110947</guid><author>aotui2000</author><pubDate>Fri, 26 Jul 2019 13:39:00 +0800</pubDate><description><![CDATA[在接触网络编程是，网上，基本的socket样例过于简单，公司的网络库匹配性太强，跟业务耦合比较大。所以阅读陈硕的muduo网络库.
namespace muduo::net::sockets
typedef struct sockaddr SA;
在socketAPI中：
int connect(int sock, struct sockaddr *serv_addr, socklen_...]]></description><category></category></item><item><title><![CDATA[网络编程入门01]]></title><link>https://blog.youkuaiyun.com/aotui2000/article/details/101110958</link><guid>https://blog.youkuaiyun.com/aotui2000/article/details/101110958</guid><author>aotui2000</author><pubDate>Fri, 26 Jul 2019 12:30:00 +0800</pubDate><description><![CDATA[实现网络库的一些基石
一些基本的变量定义
sa_family_t unsigned integer type
socklen_t an integer type of width of at least 32 bits
in_addr_t uint32_t
IPv4: struct sockaddr_in, 16个字节
struct sockaddr_in {
     sa_famil...]]></description><category></category></item></channel></rss>