笔记十四 :启动skynet与搭建websocket,Egret网络基础操作(基于通用MVC框架)

笔记十四 :启动skynet与搭建websocket,Egret网络基础操作(基于通用MVC框架)

步骤一:安装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();
    }

测试效果: