1.2.0 • Published 10 years ago

socket.emitter v1.2.0

Weekly downloads
4
License
BSD-2-Clause
Repository
github
Last release
10 years ago

Socket.Emitter

Socket.Emitter has already changed name to Socket-Emitter, please use Socket-Emitter instead.

A TCP Socket Tool, it make sending a message by tcp just like emitting an event.

It can send most common type of data without any extra work.

It's able to send large data.

Server Example:

var Server = require('socket.emitter').Server;

var PORT = 3766;

var server = new Server();
server.on('connection', function(socket) {
  console.log('[Server]New Connection');

  socket.on('message', function(message) {
    console.log(message);
    // message will be 2
  });

  socket.emit('sendString', 'hello world');

  socket.emit('sendObject', {
    message: '123',
    count: 23
  });

  var buffer = new Buffer(4);
  buffer.writeUInt32BE(0x1234, 0);
  socket.emit('sendBuffer', buffer);

  socket.emit('endSend');
});
server.listen(PORT, function() {
  console.log('Server Started');
});

Client Example:

var Client = require('socket.emitter').Client;

var PORT = 3766;

var client = new Client();
client.connect(PORT, 'localhost', function() {
  console.log('Client Connected');
  client.emit('message', 2);
});

client.on('sendString', function(message) {
  console.log(message);
  // message will be ‘hello world’
});

client.on('sendObject', function(message) {
  console.log('message');
  // message will be {message: '123', count: 23}
});

client.on('sendBuffer', function(message) {
  console.log(message);
  // message will be <Buffer 00 00 12 34>
});

client.on('endSend', function(message) {
  console.log(message);
  // message will be {}
  client.close(function() {
    console.log('Client Closed');
  });
});

Sample API

new Server(options)

Create a Server instance with options.

options

Type: Object

options.compress

If options.compress is equal to 'zlib', socket will compress data before send.

Sometimes it will be slower than sending data without compress.

new Client(options)

Create a Server instance with options, options is same as above.

Server.listen

Is same as net.Server.listen.

Client.connect

Is same as net.Socket.connect.

Socket.emit(event, arg)

Method to send data.

event

Type: String

arg

Type: String | Buffer | Object | Other

If the type of arg is Object or Other, the data to be sent is JSON.stringify(arg), and will be receive as JSON.parse(data).

callback

Type: Function()

Callback will be called when the data had be received by receiver.

Socket.on(event, listener)

Method to receive data.

event

Type: String

listener

Type: Function(arg)

Function will be called when socket has received a data and event is same as sender's event argument.

1.2.0

10 years ago

1.1.1

10 years ago

1.1.0

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago

0.2.0

10 years ago

0.1.0

10 years ago

0.0.0

10 years ago