wouldn't it be nice if the connection in both the http client and server were event emitters that emitted the request, close, upgrade and continue events? would make writing this kind of server, which seems to be a pretty common pattern, much simpler and more correct imho.
On Feb 14, 11:53 am, mscdex <[email protected]> wrote: > On Feb 14, 4:54 am, cong <[email protected]> wrote: > > > as we know,multiple get requests can arrive at the same time, which means > > there will be mutiple listeners on 'data' event, when my backend tcp server > > give a response, multiple get funciton recv the data at the same time, but > > I only want the response of their own. > > > are there some workaround,all is it true that we can't use one tcp > > connection for serving multiple users? > > > any help is appreciated > > If you really want to do it in parallel instead, you'll probably need > to have your tcp backend tag responses using some id that is unique to > each connection so that each http request knows if specific incoming > data is meant for it or another http request. Additionally, you might > consider writing a class or function that wraps the tcp stream and > emits events containing whole incoming messages, to make things a > little easier. This would allow you to do something like: > > // inside http request handler > streamWrapper.write('foo'); > streamWrapper.once(someUniqueId, .....); > // or use .on() if you expect more than one message, but remember to > remove the event handler later on so as to prevent leaking > > // inside streamWrapper somewhere after forming a complete incoming > message > streamWrapper.emit(uniqueIdFromData, ....); -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en
