socket.io-client

socket.io-client提供一個可程式化的socketio client的實作方式,讓開發者可以不用透過browser也可以達到跟socketio server連線的方式。

Github repository

Installation

Sample

Client連線前,當然需要先準備Server... 下面是Express 4.x的SocketIO Server範例

/**
 * Socket server
 * file: web.js
 */
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);

server.listen(3330);

app.get('/jquery.js', function (req, res) {
  res.sendfile(__dirname + '/jquery.js');
});
app.get('/', function (req, res) {
  res.sendfile(__dirname + '/index.html');
});

io.on('connection', function (socket) {
  setInterval(function(){
    socket.emit('news', { ts: new Date().toString() });
  }, 3000);
  socket.on('event', function (data) {
    console.log('[%s]', socket.id, data);
  });
});

Client部分連線實作如下:

var socket = require('socket.io-client')('http://localhost:3330');

socket.on('connect', function(){
    console.log('[%s]on connect...', socket.id);
});

socket.on('event', function(data){
  console.log('[%s]on event...', socket.id, data);
});

socket.on('news', function(data){
  console.log('[%s]on news...', socket.id, data);
    socket.emit('event', {
          msg: 'test', ts: new Date()
        });
});

socket.on('disconnect', function(){
    console.log('[%s]on disconnect....', socket.id);
});

舊版SocketIO

如果是使用SocketIO 0.9.x版本,對應的Client需下載對應的Client版本,需要尋找對應的版本可以透過

$ npm show socket.io-client

來尋找更新版本的註記,然後透過下面方法下載特定版本

$ npm install [email protected]

而socket.io-client作者在github上也會相對釋出該版本的branch,讓舊版實作者可以參考這些文件... 這邊比較一下新舊版本的Client操作部分,如果是0.9.11版本的socket.io-client的話,在client connect server時候需要使用connect function,而不是預設的constructor...

var socket = require('socket.io-client').connect('http://localhost:3330');

=======

socket.io-client

results matching ""

    No results matching ""