import * as net from 'net'; import _, {Root} from "protobufjs"; const {load} = _; const data = {name: 'Jack', age: 18}; load('proto/messages.proto') .then((root) => { const PersonMessage = (root as Root).lookupType('Messages.Person'); const payload = data; let errMsg = PersonMessage.verify(payload); if (errMsg) throw Error(errMsg); const message = PersonMessage.create(payload); const buffer = PersonMessage.encode(message).finish(); const client = new net.Socket(); client.connect(1337, '127.0.0.1', () => { console.log('Connected!'); client.write(buffer); }); client.on('data', data => { console.log('Received: ' + data); client.destroy(); }); client.on('close', () => { console.log('Connection closed!'); }) });