CNode

是不是socket.io的客户端只能在浏览器内运行?

Yyakczh发布于14 年前最后回复14 年前6 回复11871 浏览0 收藏
var     io = require("socket.io");
var socket = io.connect('http://localhost:3000/');

报错 TypeError: Object # has no method 'connect'

是不是socket.io的客户端只能在浏览器内运行?

查看回复

回复 (6)

S
sogego#1·14 年前

你要先在nodejs的服务端安装 socket.io npm install socket.io

然后在brower上使用要把 \node_modules\socket.io\node_modules\socket.io-client\dist 目录下的 socket.io.min.js 这个client 放到你的js文件,一般和jquery.min.js放到一个目录下,在client上使用应该是:引入socket.io.min.js文件后直接使用 var socket = io.connect('http://sogego.com/'); socket.on('news', function (data) { if(data.hello === 'world'){ console.log('连接到socket'); } });

C
chironchan#2·14 年前

不是,socket.io-client也可以服务端用。证明:https://github.com/LearnBoost/socket.io-client/blob/master/dist/socket.io.js

A
atian25#3·14 年前

socket.io-client是可以单独使用的,不用依赖于浏览器。 我有实践过。

不过鉴权那块有点小问题,可能要自己处理。因为单独跑是没有session的。

J
jiyinyiyong#4·14 年前

这是没错... 依赖的 WebSocket 和 Ajax 接口在 Node 环境和浏览器不一样的.. 印象里论坛里看到过 socket.io-client 之类模块可以模拟.. 没深入过, 楼主找找看

S
soloara#5·14 年前

socket.io是一个socket套件,集成了long polling,multipart streaming,Polling以及flash socket和websocket,也就是说他是一个可以backwards的,模糊化了tcpsocket与http即时通讯的框架.因为backwards所以我们和socket.io通讯可以用浏览器的websocket或者long polling,也完全可以使用纯粹的tcpsocket,如果各位发现没有您说需要的平台的client请自行编写.

参与回复
登录后即可参与回复。登录