Am 22.02.2009, 15:40 Uhr, schrieb Petr Krenzelok  
<[email protected]>:

>> Is there a way that I can WAIT to "read a message" or "send a message"?  
>> I'm missing a way to control/react on the communication direction flow.

Hi, (why are my lines broken with this = char? Is it again a encoding  
problem from Opera?)

> yes, there is. In async mode, you are responsible for "waiting for
> signal" - you have to do handshaking yourself.

No problem, is there an example? Do I get signals like "ready to send",  
"data can be read"?

> As I said in my previous
> email, be carefull, as you will run out from your data :-)

That's normal TCP behaviour. On the C-level I can loop and check  
read/write Status, read partial things etc. The problem I have is, that I  
don't know how Rebol handles these situations nor how I'm supposed to do  
it.

> So, look into your server. You wait for first connection. Good. Then you  
> get your
> connection, enter forever loop, but you don't wait for the other side!

Ok, how do I wait for the other side? Is just adding a WAIT CONNECTION  
enough?

> Copy is not blocking, so it copies from the OS buffer (direct mode), and
> there is no data (empty string returned). Put wait c-client as first
> means of forever loop.

Ok, the WAIT read: Wait until something is available in the OS read-buffer.

> wait port ; or wait/all [port1 port2 0:00:01], whatever ...
> while [not empty? data: copy port][append result data]
>
> remember, that one call to 'copy just reads out what is available at the
> given time.

Yes, I know. I will try playing with WAIT.

> If you want to look how to read data from many ports, Sterling's proxy
> script in rebol.org archive was always a good inspiration for me, as it
> was able to open multiple connections, keep pairs of send/rcv ports
> stored, etc.

Most scripts assume a request/response model or use the HTTP schemes. What  
I want to do is: Using one port for sending and receiving while doing  
ping-pong between two clients.

> Robert- here's my "multiserver" script I did for my friend some time
> ago. He was doing some embedded stuff and wanted me to  catch data from
> devices, write them down to file,  and log events. Not sure it will work
> for you, as I now translated it into english, including variables.
> Hopefully no bug there:

Ok, thanks I take a look. Handling transmission in only one direction is  
not the problem. It's switchting between receiving and sending and getting  
the WAITing etc. correct.

So, next round :-) I'll let you know. If someone has more information or  
an exmaple, please let me know.

-- 
Robert M. Münch
Mobile: +49 (177) 245 2802
http://www.robertmuench.de
-- 
To unsubscribe from the list, just send an email to 
lists at rebol.com with unsubscribe as the subject.

Reply via email to