function socketClient(){ var io = require(‘socket.io-client’); var socket = io.connect(‘127.0.0.1:5555’); socket.on(‘connect’, function(){ console.log(‘connect’); }); }
socketClient(); //代码段… socketClient();
第一次调 socketClient 方法可以联通服务器socket,第二次调就没办法了。为什么啊? 哪位小伙伴在 node.j s用过 socket.io-client,求解答。 求小伙伴们试一试,跪谢。。。
- websocket是长连接,
- 好像是规范,一个页面只能打开一个socket。
你可以参考,下面文章学习! http://blog.fens.me/nodejs-socketio-chat/
谢谢解答。 socket一值保持连接,但客户端与服务器的通信是不定时进行的,比如客户端与服务器半个月才通信一次。这样的话,socket一直保持连接不是很浪费资源吗?
好的 谢谢
你如果还想继续连接,那么socket.disconnect()后再进行重新connect
@c060604 我用websocket都是秒级的更新
@jiyinyiyong node.js的net.socket会不会也有这种端口占用的问题?
我也遇到相同的问题了,结果很简单, io.connect(url, options) 这个options有一个参数force new connection,默认为false,只要设置为true就能连接上去了。
参考: https://github.com/LearnBoost/Socket.IO/wiki/Configuring-Socket.IO
这个问题似乎没有什么意义啊,因为和服务器连接一次后,就会一直处于打开状态,而且socket.io会处理心跳包这些东西。你刷新浏览器,关闭浏览器,在地址栏中输入另一个url,都会让连接着的socket与服务器断开,这种情况下才次连接才是一个新的会话,两次调用connect的意义何在呢?