步驟一:安裝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服務
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();
}
測試效果: