Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- "use strict";
- var _1 = require('./core/');
- process.stdout.write('\x1Bc');
- _1.LOGGER.info('main');
- var net = require('net');
- var Peer = (function () {
- function Peer(sock, name) {
- sock = sock;
- name = name;
- }
- return Peer;
- }());
- var cid = 0;
- var clients = [];
- net.createServer(function (socky) {
- var peer = new Peer(socky, "");
- peer.name = peer.sock.remoteAddress + ":" + peer.sock.remotePort;
- clients.push(peer);
- peer.sock.write("0Welcome " + peer.name + "\n");
- broadcast("0" + peer.name + " joined the chat\n", peer);
- peer.sock.on('data', function (data) {
- var val = data[0] - 48;
- data = data.toString().substr(1);
- if (val === 0)
- broadcast("0" + peer.name + "> " + data + "\n", peer);
- if (val === 1)
- broadcast("1" + data + "\n", peer);
- });
- peer.sock.on('end', function () {
- clients.splice(clients.indexOf(peer), 1);
- broadcast("0" + peer.name + " left the chat.\n", peer);
- });
- peer.sock.on('error', function (e) {
- clients.splice(clients.indexOf(peer), 1);
- broadcast("0" + peer.name + " left the chat.\n", peer);
- _1.LOGGER.error(e.name + ": " + e.message);
- });
- function broadcast(message, sender) {
- clients.forEach(function (peer) {
- if (peer === sender)
- return;
- peer.sock.write(message);
- });
- process.stdout.write(message);
- }
- }).listen(5000);
- console.log("Chat server running at port 5000\n");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement