Ok, then it will block your client.  But depending on your logic that may
be ok.  Still node doesn't have a blocking socket primitive, you would have
to implement your own in C.

On Mon, May 28, 2012 at 10:50 AM, Serti Ayoub <[email protected]> wrote:

> i  use socket as client not as Server.
>
> So i will not have problem with blocking I/O
>
>
> 2012/5/28 Tim Caswell <[email protected]>
>
>> This is a common problem porting blocking code to node.  If you block on
>> network sockets in node, it will destroy the performance of your server.
>>  There is only one thread.  The server will be unable to serve multiple
>> connections at once if one is blocking.
>>
>> Why are you porting this to node?  This requirement is
>> fundamentally incompatible with the design of node.  If you want the
>> awesome concurrent socket performance capabilities of node, this is only
>> done by never using blocking I/O.
>>
>> So assuming you want to port to node anyway, the code's structure will
>> have to be modified to accommodate for the async requirements of node.
>> (Technically you could modify node through a C addon to have multiple
>> threads and block the thread, but that's not going to scale near as well as
>> a single thread using non-blocking code due to the high cost of thread
>> context switching and thread syncing)
>>
>>
>> On Mon, May 28, 2012 at 5:02 AM, Oleg Podsechin <[email protected]
>> > wrote:
>>
>>> as an example of what i have:
>>>>
>>>>>
>>>>> var socket = new SocketSync();
>>>>> socket.open('localhost', 8856);
>>>>> socket.write('my request');
>>>>> var mydata= socket.read();
>>>>> socket.end();
>>>>
>>>>
>>> Check out the "socket" module in Common Node:
>>> https://github.com/olegp/common-node
>>>
>>> Here's the canonical chat example written using the lib:
>>> https://github.com/olegp/common-node/blob/master/examples/chat.js
>>>
>>> In your code above, "SocketSync" becomes "Socket" and "open" becomes
>>> "connect". Everything else should work as is.
>>>
>>> Oleg
>>>
>>> --
>>> 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
>>>
>>
>>  --
>> 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
>>
>
>  --
> 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
>

-- 
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

Reply via email to