我第一次尝试学习socket.io和Nodejs。
我在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
上面的命令重新调整:
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 :(得分:0)
你的第一个问题就在你的头部标签内。如果你已经安装了socket.io,则无需通过链接获取它
让我们回复一下:
<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>