var io = require("socket.io");
var socket = io.connect('http://localhost:3000/');
报错 TypeError: Object #<Object> has no method ‘connect’
是不是socket.io的客户端只能在浏览器内运行?
socket.io是一个socket套件,集成了long polling,multipart streaming,Polling以及flash socket和websocket,也就是说他是一个可以backwards的,模糊化了tcpsocket与http即时通讯的框架.因为backwards所以我们和socket.io通讯可以用浏览器的websocket或者long polling,也完全可以使用纯粹的tcpsocket,如果各位发现没有您说需要的平台的client请自行编写.
可以使用tcpsocket??额,呵呵
你要先在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’); } });
不是,socket.io-client也可以服务端用。证明:https://github.com/LearnBoost/socket.io-client/blob/master/dist/socket.io.js
socket.io-client是可以单独使用的,不用依赖于浏览器。 我有实践过。
不过鉴权那块有点小问题,可能要自己处理。因为单独跑是没有session的。