client.js 778 B

12345678910111213141516171819202122232425262728293031323334
  1. var kcp = require('./build/Release/kcp');
  2. var kcpobj = new kcp.KCP(110, {address: '127.0.0.1', port: 41234});
  3. var dgram = require('dgram');
  4. var client = dgram.createSocket('udp4');
  5. var msg = 'hello world';
  6. var idx = 1;
  7. var interval = 200;
  8. kcpobj.nodelay(0, interval, 0, 0);
  9. kcpobj.output((data, size, context) => {
  10. client.send(data, 0, size, context.port, context.address);
  11. });
  12. client.on('error', (err) => {
  13. console.log(`client error:\n${err.stack}`);
  14. client.close();
  15. });
  16. client.on('message', (msg, rinfo) => {
  17. kcpobj.input(msg);
  18. });
  19. setInterval(() => {
  20. kcpobj.update(Date.now());
  21. var recv = kcpobj.recv();
  22. if (recv) {
  23. console.log(`client recv ${recv}`);
  24. kcpobj.send(msg+(idx++));
  25. }
  26. }, interval);
  27. kcpobj.send(msg+(idx++));