Ser*_*ber 3 url client undefined node.js socket.io
我从socket.io开始,带有一个简单的例子:
客户端 :
$(document).ready(function () {
var sock = new io.Socket();
sock.on('message', function (data) {
var obj = JSON.parse(data);
if(obj.message) {
$('#message').text(obj.message);
} else {
$('#timestamp').text(obj.timestamp);
$('#clients').text(obj.clients); } });
sock.connect('http://127.0.0.1:8333');
$("#poke").click(function() {
sock.send("Poke !");
});
});
Run Code Online (Sandbox Code Playgroud)
服务器端:
var io = require('socket.io');var express = require('express');
var app = express.createServer();
app.configure(function(){
app.use(express.static(__dirname + '/public'));});
app.get('/', function(req, res, next){ res.render('./public/index.html');});
app.listen(8333);
var socket = io.listen(app, {
flashPolicyServer: false,
transports: ['websocket', 'flashsocket', 'htmlfile', 'xhr-multipart', 'xhr-polling', 'jsonp-polling']});
var allClients = 0;
var clientId = 1;
socket.on('connection', function(client) { var my_timer; var my_client = { "id": clientId, "obj": client };
clientId += 1;
allClients += 1;
my_timer = setInterval(function () {
my_client.obj.send(JSON.stringify({ "timestamp": (new Date()).getTime(), "clients": allClients })); }, 1000);
client.on('message', function(data) { my_client.obj.broadcast(JSON.stringify({ message: "poke send by client "+my_client.id }));
console.log(data);
});
client.on('disconnect', function() {
clearTimeout(my_timer);
allClients -= 1;
console.log('disconnect'); });});
Run Code Online (Sandbox Code Playgroud)
我的问题是客户端试图获得:
HTTP://undefined/socket.io/1/吨= 1310142283769&JSONP = 0
这是不确定的.当我用http://localhost/socket.io/1/?t = 1310142283769&jsonp = 1卷曲我的应用程序时,我得到了一些东西.
为什么socket调用undefined而一切似乎都设置正确.
谢谢你能帮助我!
log*_*yth 13
看起来您在客户端中错误地创建了套接字.你应该有更多的东西:
var sock = io.connect('http://127.0.0.1:8333');
Run Code Online (Sandbox Code Playgroud)
并完全删除sock.connect行.
您应该查看SocketIO网站上的示例.http://socket.io/#how-to-use
| 归档时间: |
|
| 查看次数: |
5206 次 |
| 最近记录: |