套接字仅发出一次

时间:2018-01-22 22:19:30

标签: javascript angularjs node.js sockets

以下代码仅发出一次数据。我不确定它是否会发出一次因为我认为数据没有从前端(角度2)正确发送到后端(nodeJs)。

chat.component.ts的前端代码:

ngOnInit() {
        const sendData = {
          username: this.username,
          message: this.message
        };
        const socket = socketIo('http://localhost:3000');

        socket.emit('chat message', {
          username: 'sendData.username',
          message: sendData.message
        });

        socket.on('chat message', function(msg){
        const messageArea = document.getElementById('output');
        messageArea.innerHTML +="<strong>" + socket.username + "</strong> : " + socket.message + "\n";
        console.log(msg.username + 'lmemons');
      });
    }

后端代码:

io.on('connection', function(socket){
    console.log('a user connected');

    socket.on('disconnect', function(){
        console.log('user disconnected');
      });
      socket.on('chat message', function(msg){
        console.log('///////////////////////////////');  
        io.emit('chat message', msg.username + ': ' + msg.message);
        console.log('--------------------------');
      });
  });

代码运行一次,由console.logs显示。它每次都只是未定义的。

我试过使用:

  

socket.on(&#39;聊天消息&#39;,功能(消息){...

以外的

  

io.on(&#39;连接&#39;,功能(套接字){

但是套接字错误,声称它未定义。

基本上我想将数据附加到每个所有连接的套接字上。文字区。

我正在使用此https://socket.io/get-started/chat/教程寻求帮​​助。

0 个答案:

没有答案