【发布时间】:2012-01-26 09:58:39
【问题描述】:
我是第一次尝试 Websockets/Node.js/Socket.io/Express,我正在尝试创建一个简单的聊天程序。一切运行良好,我在节点终端中看到了两个客户端。
但是当我尝试执行我的socket.send() 时,我在 Firefox 中得到一个错误(socket.send 不是一个函数)。它不会抱怨socket.connect(),所以我知道socket.io.js 已加载。
这是我的服务器代码:
var sys = require('util');
var express = require('express');
var io = require('socket.io');
var app = express.createServer();
app.listen(8080);
app.use(express.static(__dirname));
app.get('/', function (req, res) {
res.render('index.html', {
title: 'Chat'
});
});
var socket = io.listen(app);
socket.on('connection', function (client) {
client.on('message', function (message) {
console.log("Message: " + JSON.stringify(data));
socket.broadcast(message);
});
client.on('disconnect', function () {});
});
我的客户代码:
<script src="http://localhost:8080/socket.io/socket.io.js"></script>
var socket = new io.Socket("http://localhost:8080");
socket.connect();
然后我做一些代码来获取聊天消息并发送它。
socket.send(JSON.stringify(values));
【问题讨论】:
-
你有什么版本的Socket.IO?
-
@alessioalex io.version = '0.8.7';我尝试了 emit() ,它没有给出错误但它没有发送任何东西:S
-
这已经在其他 stackoverflow q/a cf => stackoverflow.com/questions/7386984/…, stackoverflow.com/questions/7627626/…, stackoverflow.com/questions/8510260/…, stackoverflow.com/questions/7069202/…, 使用发送的例子 - github.com/parj/node-websocket-demo, 使用发射的例子 - @ 987654326@
标签: node.js websocket socket.io