let lockStepClient = { matchCallback:null, onMessageRecCallback:null, login(openid,name,avatarUrl,gender,callback) { if(openid ==='' || name ==='' ||avatarUrl ==='' ||gender ==='' ||callback == null) return; let Self = this; this.ws = new WebSocket("ws://localhost:3000"); // var ws = new WebSocket("ws://121.4.59.141:3000/node/"); // var ws = new WebSocket("ws://www.yuyekeji.cn:3000/node/"); console.log("WebSocket建立成功"); this.ws.onopen = function () { //当WebSocket创建成功时,触发onopen事件 console.log("open"); let player_info = {}; player_info.type = "login"; player_info.openid = name; player_info.name = name; player_info.avatarUrl = avatarUrl; player_info.gender = gender; Self.ws.send(JSON.stringify(player_info)); //将消息发送到服务端 callback(); } this.ws.onmessage = function (e) { //当客户端收到服务端发来的消息时,触发onmessage事件,参数e.data包含server传递过来的数据 // console.log(e.data); let data_json = JSON.parse(e.data); if(data_json.type === 'match') { Self.matchCallback(data_json.openid,data_json.name,data_json.avatarUrl,data_json.gender); } else if(data_json.type === 'message') { Self.onMessageRecCallback(data_json.message); } } this.ws.onclose = function (e) { //当客户端收到服务端发送的关闭连接请求时,触发onclose事件 console.log("close"); } this.ws.onerror = function (e) { //如果出现连接、处理、接收、发送数据失败的时候触发onerror事件 console.log(error); } }, match(openid,callback) { if(openid ==='' || callback == null) return; let obj = {}; obj.type = 'match'; obj.openid = openid; this.matchCallback = callback; this.ws.send(JSON.stringify(obj)); }, sendMessage(openid,message) { if(openid ==='' || message ==='') return; let obj = {}; obj.type = 'message'; obj.openid = openid; obj.message = message; this.ws.send(JSON.stringify(obj)); } } // module.exports = lockStepClient;