笔记十四 :启动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();
}
测试效果: