Socket.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. cc.Class({
  2. extends: cc.Component,
  3. properties: {
  4. myName:cc.Label,
  5. messageLabel:cc.Label
  6. },
  7. start () {
  8. // 初始化
  9. this.my_name = window.my_name;
  10. this.myName.string = '用户:'+this.my_name;
  11. this.user_name = '';
  12. this.message = '';
  13. let messageLabel = this.messageLabel;
  14. // 创建服务器
  15. this.ws = new WebSocket("ws://127.0.0.1:3000");
  16. // this.ws = new WebSocket("ws://81.70.235.181:3000");
  17. //连接服务器成功后的回调
  18. this.ws.onopen = function (event) {
  19. // console.log("已连接.");
  20. messageLabel.string = "已连接到服务器"
  21. this.ws.send('{"name":"'+this.my_name+'","type":"login","user_name":"","message":""}');
  22. }.bind(this);
  23. //接收到服务器消息的回调
  24. this.ws.onmessage = function (event) {
  25. // console.log("收到消息: " + event.data);
  26. let data = JSON.parse(event.data);
  27. messageLabel.string = '收到“'+data.name+'”的消息:\n'+data.message;
  28. }.bind(this);
  29. // 发生错误
  30. this.ws.onerror = function (event) {
  31. console.log("发生错误");
  32. }.bind(this);
  33. // 已关闭
  34. this.ws.onclose = function (event) {
  35. console.log("已关闭");
  36. }.bind(this);
  37. },
  38. // 发送消息给指定用户
  39. sendUser(){
  40. console.log('发送给'+this.user_name)
  41. console.log(this.message)
  42. this.ws.send('{"name":"'+this.my_name+'","type":"user","user_name":"'+this.user_name+'","message":"'+this.message+'"}');
  43. },
  44. // 发送消息给所有人
  45. sendAll(){
  46. this.ws.send('{"name":"'+this.my_name+'","type":"all","user_name":"","message":"'+this.message+'"}');
  47. },
  48. // 输入发消息送对象的名字
  49. onTextChangedUserName: function(text, editbox, customEventData) {
  50. this.user_name = text;
  51. },
  52. // 输入发消息送的消息
  53. onTextChangedMessage: function(text, editbox, customEventData) {
  54. this.message = text;
  55. }
  56. });