tcp_client.ts 906 B

12345678910111213141516171819202122232425262728293031
  1. import * as net from 'net';
  2. import _, {Root} from "protobufjs";
  3. const {load} = _;
  4. const data = {name: 'Jack', age: 18};
  5. load('proto/messages.proto')
  6. .then((root) => {
  7. const PersonMessage = (root as Root).lookupType('Messages.Person');
  8. const payload = data;
  9. let errMsg = PersonMessage.verify(payload);
  10. if (errMsg)
  11. throw Error(errMsg);
  12. const message = PersonMessage.create(payload);
  13. const buffer = PersonMessage.encode(message).finish();
  14. const client = new net.Socket();
  15. client.connect(1337, '127.0.0.1', () => {
  16. console.log('Connected!');
  17. client.write(buffer);
  18. });
  19. client.on('data', data => {
  20. console.log('Received: ' + data);
  21. client.destroy();
  22. });
  23. client.on('close', () => {
  24. console.log('Connection closed!');
  25. })
  26. });