筆記十四 :啓動skynet與搭建websocket,Egret網絡基礎操作(基於通用MVC框架)

步驟一:安裝skynet與啓動

Skynet框架菜鳥手冊

想盡各種辦法,蒐集網上資料,在linux服務器上,安裝好lua環境和skynet。

1.先用任務管理器,結束所有和skynet有關的進程,防止端口占用

ps -aux 查看所有進程,每行一個程序
top 顯示當前運行程序
kill 98 (98爲PID號,)
kill -9 98 (強制殺死98)

2.在skynet主目錄打開終端,不然會找不到引用類

$ ./skynet examples/config  打開服務端

$ lua examples/client.lua 打開客戶端

3.自測試skynet運行:

./skynet myexample/e1/config啓動skynet的範例

管理器模式打開TCP調試助手,連接主機的8888端口,輸入文字發送

在服務器端查看到接受到的文字信息。

 

步驟二:建立websocket的skynet服務

Skynet的websocket組件-github地址

1.將下載的websocket.lua放到skynet/lualib目錄下,將testwebsocket.lua放到skynet/test目錄下。

2.在skynet目錄打開終端,$ ./skynet examples/config  打開服務端

3.接着在終端輸入testwebsocket回車,自動運行testwebsocket.lua

 

步驟三:Egret項目中輸入測試代碼

 記得egretProperties.json中的module中加入

		{
			"name": "socket"
		},
        //官方示例WebSocket
        this.webSocket = new egret.WebSocket();
        this.webSocket.addEventListener(egret.ProgressEvent.SOCKET_DATA, this.onReceiveMessage, this);
        this.webSocket.addEventListener(egret.Event.CONNECT, this.onSocketOpen, this);
        this.webSocket.connect("XXX.XXX.XXX.XXX", 8001);
    //官方示例WebSocket,連接成功
    private onSocketOpen(): void {
        var cmd = "Hello Egret WebSocket";
        console.log("連接成功,發送數據:" + cmd);
        this.webSocket.writeUTF(cmd);
        // let a:egret.ByteArray = new egret.ByteArray();
        // a.writeUTF("aaaabbbbbcccccddddddeeeee");
        // console.log("連接成功,發送數據:" + a);
        // this.webSocket.writeBytes(a);
    }

    //官方示例WebSocket,接受數據成功
    private onReceiveMessage(e: egret.Event): void {
        var msg = this.webSocket.readUTF();
        console.log("收到數據:" , msg);
        //var msg = this.webSocket.readUTF();
    }

測試效果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章