javascript - asynchronous node.js concepts with IO -


var net = require ('net'), local_port = 8000, local_ip = '127.0.0.1', remote_port = 80, remote_ip = 'xxx.xx.xx.x',  server = net.createserver (function (socket){   var servicesocket = new net.socket ();   servicesocket.connect (parseint (remote_port), remote_ip, function () {     socket.on ('data', function (msg){       servicesocket.write (msg);     });   }); }).listen (local_port, local_ip); 

there server, runs code, , client, connects server , sends 2 blocks of data 1 after another, d1 , d2.

is true, d2 arrive before d1 remote_ip?

wouldn't case possible:

let's client sends d1 of size x asynchronously, , d2 of size y, y smaller x, wouldn't socket.on('data'...) fire first reception of d2 on 'data' listener?

net.createserver , net.socket both create tcp sockets.

this has few implications:

  1. data write first received first.
  2. boundaries not fixed, single write on 1 side may split multiple data events on receiving side, or vise versa multiple write calls may become single data event. guarantee data remain in same order write it.

if you're interested in unordered (and unreliable) data @ node's dgram module http://nodejs.org/api/dgram.html creates udp sockets, cases want tcp.


Comments

Popular posts from this blog

ruby on rails - RuntimeError: Circular dependency detected while autoloading constant - ActiveAdmin.register Role -

c++ - OpenMP unpredictable overhead -

javascript - Wordpress slider, not displayed 100% width -