嘗試新思路 Select模型的另一種實現

2021-07-25 08:07:08 字數 1418 閱讀 5245

新增乙個clogic類

標頭檔案logic.h

#ifndef __logic_h__

#define __logic_h__

#include "myerror.h"

#include "myexit.h"

#include "myselectevent.h"

#include "socketimpl.h"

#include "select.h"

class

clogic

;#endif

實現檔案logic.cpp

#include "logic.h"

#include

using

namespace

std;

clogic::clogic() : m_server(null), m_select(null), m_error(null), m_exit(null), m_event(null)

int clogic::init()

while (0);

return -1;

}int clogic::createlistenfd(const

char* ip, short port)

if (m_server->bind(addr) != 0)

if (m_server->listen(2) != 0)

return

0; } while (0);

return -1;

}int clogic::select()

int clogic::handlesystemerror(int level)

int clogic::handleinvaliderror(int level)

int clogic::handleinvalidexit(int level)

int clogic::handleinvalidevent(int level)

int clogic::handleinvalidlistenfd(int level)

int clogic::handlemaxfderror(int level)

這個類負責整個程式的主要邏輯。首先初始化所有物件,並載入錯誤處理函式。然後實現select主要功能。

主函式main.cpp檔案

#include "logic.h"

#include

using namespace std;

#pragma comment(lib, "ws2_32.lib")

int main()

看一下main函式,就明白clogic的作用,其實就是把主函式的邏輯封裝到乙個類中去了,從而使得main函式更加直觀、簡潔。

嘗試新思路 CError的另一種實現方式

如下 ifndef myerror h define myerror h include error.h include include template class cerrors void add int index,std function fct template void add int ...

壓縮docker層數的新思路

隨著不斷構建docker映象,造成了映象越來越大 那麼我們可以在目標映象中先壓縮整個系統 1.刪除多餘檔案 2.壓縮整個系統 3.拖拽輕量級映象 docker run tdi name ubuntu1 ubuntu bin bash 4.docker cp 備份檔案 ubuntu1 備份檔案 5.解...

今天講解了WP的新思路

吾以前做ss的計算系統的時候,也是從乙個小破綻找到了突破口,進而建立了一整套完善的計算系統 僅次於excel 前一段時間研究了一下word,就明白了是怎麼做的。吾提出了兩點要使用新做法的原因。使用新做法,效能肯定有所提高,而提高幅度並不確定。最後總結時,吾說,其實說是很容易的。吾在這裡說半個小時,做...