socket.emitter
v1.2.0
Published
A TCP Socket Tool, it make sending a message by tcp just like emitting an event
Downloads
3
Maintainers
Readme
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][, callback])
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.