我甚至无法运行非常基本的socket.io示例.例如,他们网站的欢迎页面上的第一个示例:
var io = require('socket.io').listen(80);
io.sockets.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
Run Code Online (Sandbox Code Playgroud)
在服务器端和
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
</script>
Run Code Online (Sandbox Code Playgroud)
在客户端.如果我将服务器端保存在host.js文件中,将客户端保存在client.htm文件中,然后运行npm host.js,我就会得到
info - socket.io started
warn - error raised: Error: listen EADDRINUSE
Run Code Online (Sandbox Code Playgroud)
这已经不是真正的预期了.然后,对于client.htm(或者至少我认为我应该用它做什么 - 将它粘贴在client.htm文件中),我只得到一个空白屏幕.不是很令人惊讶,因为它首先包含一个不存在的文件/socket.io/socket.io.js,但即使将其更改为host.js(我认为应该是这样)也不会改变我只得到一个空白屏幕的事实......
我很无能为力.
我正在尝试开发一个简单的聊天应用程序.这是我的chat.js文件.
var app = require('http').createServer(handler)
, io = require('socket.io').listen(app)
, fs = require('fs');
app.listen(8124);
function handler (req, res) {
fs.readFile(__dirname + '/chat.html',
function (err, data) {
if (err) {
res.writeHead(500);
return res.end('Error loading chat.html');
}
res.writeHead(200);
res.end(data);
});
}
io.sockets.on('connection', function (socket) {
socket.on('addme',function(username) {
socket.username = username;
socket.emit('chat', 'SERVER', 'You have connected');
socket.broadcast.emit('chat', 'SERVER', username + ' is on deck');
});
socket.on('sendchat', function(data) {
io.sockets.emit('chat', socket.username, data);
});
socket.on('disconnect', function() {
io.sockets.emit('chat', 'SERVER', socket.username + ' has …Run Code Online (Sandbox Code Playgroud)