原创 skynet框架應用 (六) 服務調度

6 服務調度 local skynet = require "skynet" --讓當前的任務等待 time * 0.01s 。 skynet.sleep(time) ​ --啓動一個新的任務去執行函數 func , 其實就是開了一

原创 skynet框架應用 (二) 搭建skynet

2 在ubuntu上搭建skynet2.1 獲取skynet源代碼安裝git代碼管理工具​ $ sudo apt-get update $ sudo apt-get install git  ​ 注意:如果安裝失敗,請先安裝一下只支持庫

原创 linux 查看進程打開的文件

查看進程打開的文件lsof [options] [name]例如:源碼test.c#include <stdio.h> #include <unistd.h> int main(void) { FILE* fp = fopen(

原创 ubuntu下搭建samba服務器

samba服務器​ Samba是在Linux和UNIX系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。SMB(Server Messages Block,信息服務塊)是一種在局域網上共享文件和打印機的一種通信協議,它爲局域網

原创 Linux下文件描述符剖析

Linux文件IO open、dup、fork內核原理分析1、open一個文件 一個Linux進程啓動後,會在內核空間創建一個PCB進程控制塊,PCB是一個進程的私有財產。 這個PCB中有一個已打開文件描述符表,記錄着所有該進程打開的文件

原创 ZeroMQ學習 (四)請求-應答模式

6 請求-應答模式​ 請求-應答模式,REQ-REP必須同步的進行,即,REQ套接字必須先發送請求,然後等待應答;REP必須先接受請求,然後發送應答。一旦打亂這個順序,將造成錯誤,套接字將無法繼續工作。請求端源碼request.cpp:​

原创 ZeroMQ學習 (七) 多幀消息

9 多幀消息​ ZMQ消息可以包含多個幀,這在實際應用中非常常見.​ 多幀消息的每一幀都是一個zmq_msg結構,也就是說,當你在收發含有五個幀的消息時,你需要處理五個zmq_msg結構。你可以將這些幀放入一個數據結構中,或者直接一個個地

原创 ZeroMQ學習 (二) ZMQ與傳統的TCP區別

3 ZMQ與傳統的TCP區別​ 在連接兩個節點時,其中一個需要使用zmq_bind(),另一個則使用zmq_connect()。通常來講,使用zmq_bind()連接的節點稱之爲服務端,它有着一個較爲固定的網絡地址;使用zmq_conne

原创 ZeroMQ學習 (九)zmq_poll使用

11 zmq_poll使用​ 每一個zmq的套接字也可以認爲是一路IO,那麼在多路IO讀寫的時候,我們可以使用zmq_poll進行IO複用,使用了zmq_poll()函數,當收到了消息的第一幀時,其它幀其實也已經收到了。訂閱者代碼如下:​

原创 ZeroMQ學習 (五)發佈-訂閱模式

7 發佈-訂閱模式​ 發佈者不用管是否有訂閱者,它只管不停的發佈,也不用接受客戶端的請求。多訂閱者可以嘗試鏈接發佈者,來接受信息,但是不能往發佈者發送請求。發佈者源碼:#include <zmq.h> #include <stdio.h>

原创 skynet框架應用 (十五) msgserver

15 msgserver​ snax.msgserver 是一個基於消息請求和迴應模式的網關服務器模板。它基於 snax.gateserver 定製,可以接收客戶端發起的請求數據包,並給出對應的迴應。​ 和 service/gate.lu

原创 skynet框架應用 (十七) protobuffer

17 protobuffer​ 假如我們要建立的skynet服務器與客戶端的連接方式爲長連接,且選擇了Google的Protobuf來定製我們的網絡協議,那麼,接下來我們要解決的問題就是:如何在skynet框架中使用socket+prot

原创 skynet框架應用 (十六) mysql

16 mysql​ skynet封裝了mysql的驅動,主要文件爲 lualib/skynet/db/mysql.lua。先在ubuntu下安裝mysql sudo apt-get install mysql-server設置mysql的

原创 skynet框架應用 (十二) snax框架

12 snax框架​ snax 是一個方便 skynet 服務實現的簡單框架。(簡單是相對於 skynet 的 api 而言)​ 使用 snax 服務先要在 Config 中配置 snax 用於路徑查找。每個 snax 服務都有一個用於啓

原创 ZeroMQ學習 (十)ROUTER-DEALER

ROUTER-DEALER​ ZMQ_ROUTER類型的套接字是請求/回覆模式的一種升級。​ 當ZMQ_ROUTER收到一個消息的時候,會自動在消息前面添加一幀,這一幀用來識別發送端的地址。​ 當發送一個消息的時候,需要先發送一幀對端的地