簡體   English   中英

Node js - Socket.io 客戶端未連接到遠程服務器

[英]Node js - Socket.io client is not connect to remote server

我正在嘗試使用以下代碼連接到 socket.io-client:

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var port = process.env.PORT || 3000;

app.get('/', function(req, res){
  res.sendFile(__dirname + '/index.html');
});

io.on('connection', function(socket){

  console.log("Birisi bağlandı!");

  socket.on('chat message', function(msg){
    io.emit('chat message', msg);
  });

  socket.on('new-post', function(data){
    io.emit('posts', data);
});

  socket.on('disconnect', function(){
    console.log("Birisi çıktı!");
  });


});

http.listen(port, function(){
  console.log('listening on *:' + port);
});

客戶端代碼

<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.2.0/socket.io.js"></script>
<script src="https://code.jquery.com/jquery-1.11.1.js"></script>
<script>
        
var socket = io('http://139.59.104.188:3000');
              
</script>

但是客戶端沒有連接到服務器端。 控制台日志為空,我現在不知道為什么

您需要將socket.on('connect') function 添加到您的客戶端:

<script>
        
var socket = io('http://139.59.104.188:3000');
             
socket.on('connect', () => {
  console.log('connected to backend');
});

</script>

一旦您的客戶端連接到后端,您的客戶端(=瀏覽器)控制台將顯示該消息。

您可能應該嘗試推遲在客戶端上加載腳本

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM