HTTP server
var http = require('http');
var server = http.createServer(function (request, response) {
response.writeHead(200, 'OK', {'Content-Type': 'text/html'});
response.write('Hello, ');
response.end('World!');
});
server.listen(8124, '127.0.0.1', function () {
console.log('server is listening on 127.0.0.1:8124');
});
HTTP client
var http = require('http');
var client = http.request({host: '127.0.0.1', port: 8124}, function (response) {
var data = '';
response.on('data', function (chunk) {
data += chunk;
});
response.on('end', function () {
console.log(data);
});
});
client.end();
TCP Socket server
var net = require('net');
var PORT = 8124;
// Создание сервера и прослушивание соединения сервера с клиентом
var server = net.createServer(function (connection) {
console.log('connected');
// Можно получать строки или буфер
connection.on('data', function (data) {
console.log(data + ' from client address ' + connection.remoteAddress + ' and port ' + connection.remotePort);
connection.write('Repeating to client: ' + data);
});
connection.on('close', function () {
console.log('client closed connection');
});
}).listen(PORT);
server.on('listening', function () {
console.log('server is listening on ' + PORT);
});
server.on('error', function (error) {
if (error.code == 'EADDRINUSE') {
console.warn('Address in use, retrying...');
setTimeout(function () {
server.close();
server.listen(PORT);
}, 1000);
} else {
console.error(error);
}
});
TCP Socket client
var net = require('net');
var client = new net.Socket();
client.setEncoding('utf8');
// Подключение к серверу
client.connect('8124', '127.0.0.1', function () {
console.log('connected to server');
// Можно отправлять строки или буфер
client.write('Enter text, that client will send to server, and press "Enter".');
});
// Полученные данные из консоли командной строки отправляются серверу
process.stdin.on('data', function (data) {
client.write(data);
});
// Возвращаемые данные от сервера выводятся на консоль командной строки
client.on('data', function (data) {
console.log(data);
});
// При закрытии соединения с сервером выводим сообщение
client.on('close', function() {
console.log('connection closed');
});
UDP server
var dgram = require('dgram');
var server = dgram.createSocket('udp4');
server.on('listening', function () {
var address = server.address();
console.log('server is listening at ' + address.address + ':' + address.port);
});
server.on('message', function (message, rinfo) {
console.log('server got: ' + message + ' from client ' + rinfo.address + ':' + rinfo.port);
});
server.on('error', function (error) {
console.log('server error:' + error.stack);
server.close();
});
server.bind(8124, '127.0.0.1', function () {
console.log('server is listening on 127.0.0.1:8124');
});
UDP client
var dgram = require('dgram');
var client = dgram.createSocket('udp4');
client.on('close', function () {
process.exit(0);
});
process.stdin.on('data', function (data) {
console.log(data.toString('utf8'));
client.send(data, 0, data.length, 8124, '127.0.0.1', function (error, bytes) {
if (error) {
console.error('error: ' + error);
} else {
console.log('successful');
}
client.close();
});
});
Комментариев нет:
Отправить комментарий