2017-09-16 373 views
0

我想第一次學習socket.io和Nodejs。socket io未找到錯誤?

我在root的服務器上安裝了nodejs和socket.io。一切都安裝在根目錄中。

在我的領域,我創建了一個test-folder和該文件夾中創建的index.html文件,放在裏面的代碼:

<html> 
<head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.3.2/socket.io.min.js"></script> 
    <script> 
     $(function(){ 
      var iosocket = io.connect(); 
      iosocket.on('connect', function() { 
       $('#incomingChatMessages').append($('<li>Connected</li>')); 
       iosocket.on('message', function(message) { 
        $('#incomingChatMessages').append($('<li></li>').text(message)); 
       }); 
       iosocket.on('disconnect', function() { 
        $('#incomingChatMessages').append('<li>Disconnected</li>'); 
       }); 
      }); 
      $('#outgoingChatMessage').keypress(function(event) { 
       if(event.which == 13) { 
        event.preventDefault(); 
        iosocket.send($('#outgoingChatMessage').val()); 
        $('#incomingChatMessages').append($('<li></li>').text($('#outgoingChatMessage').val())); 
        $('#outgoingChatMessage').val(''); 
       } 
      }); 
     }); 

    </script> 
</head> 
<body> 
Incoming Chat: <ul id="incomingChatMessages"></ul> 
<br /> 
<input type="text" id="outgoingChatMessage"> 
</body> 
</html> 

然後我又回到了根,並創建了一個app.js文件放在這個代碼在它:

var fs = require('fs') 
    , http = require('http') 
    , socketio = require('socket.io'); 
var server = http.createServer(function(req, res) { 
    res.writeHead(200, { 'Content-type': 'text/html'}); 
    res.end(fs.readFileSync(__dirname + '/var/www/vhosts/my-website.net/httpdocs/test-folder/index.html')); 
}).listen(8080, function() { 
    console.log('Listening at: http://localhost:8080'); 
}); 
socketio.listen(server).on('connection', function (socket) { 
    socket.on('message', function (msg) { 
     console.log('Message Received: ', msg); 
     socket.broadcast.emit('message', msg); 
    }); 
}); 

而跑到離SSH命令:

node app.js 

以上retunr此命令:

Listening at: http://localhost:8080 

我然後打開從瀏覽器像這樣index.html文件:

http://my-website.net/test-folder/index.html 

但是當我看控制檯內部,我看到以下錯誤重複一遍又一遍:

socket.io.min.js:1 GET http://my-website.net/socket.io/?EIO=3&transport=polling&t=1505580173244-3 404 (Not Found) 

我不知道這意味着什麼或我需要做什麼。有人可以就這個問題提出建議嗎?

任何幫助,將不勝感激。

在此先感謝。

回答

0

你的第一個問題是你的腦袋裏tag.If你已經安裝socket.io沒有必要把它通過鏈接

咱們replce這樣:

<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.3.2/socket.io.min.js"></script> 

與此一:

<script src="/socket.io/socket.io.js"></script> 
+0

現在,我得到這個錯誤:(指數):7未捕獲的ReferenceError:IO沒有定義 –

+0

@DavidHope是'/socket.io/socket.i o.js'正確加載? – Boaz

+0

@Boaz,我很困惑這個socket.io ...我沒有任何/socket.io/socket.io.js ...哪裏是socket.io.js應該在我的服務器上? –