原创 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收到一個消息的時候,會自動在消息前面添加一幀,這一幀用來識別發送端的地址。 當發送一個消息的時候,需要先發送一幀對端的地