As soon as the socket reads even one byte of input it will never send any events until it has fully parsed the input packet and replied to it.&nbsp; In the unlikely event of an event being delivered over the socket with perfect timing to be received as soon as you put in a command you would have to cache that event and continue reading until you got your reply.&nbsp; You can count on the fact that you will never get the wrong reply over the socket as it will never allow anything else to happen until it deals with the current input.<br>
<br>In my perl client in tree just to be safe i serialize and cache any events that may be received during the waiting for a reply to a command.&nbsp; Like I said all events will be stopped until you get the command reply, they are being cached in a fifo and will all come over the wire as soon as the command is completed.&nbsp; This allows you to execute commands where you intentionally want to block until you get the answer and in cases where you don&#39;t want that you can use the bgapi command to launch the command in a thread and have it return instantly.<br>
<br><br><br><div class="gmail_quote">On Wed, Oct 22, 2008 at 8:42 AM, Klaus Teller <span dir="ltr">&lt;<a href="mailto:klaus.teller@gmx.net">klaus.teller@gmx.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br>
<br>
I have a pretty silly question here, so please bear with me. &nbsp;When reading events through a socket (socket event interface), it is said that i should either wait for 2CR or if the content length was specified, i must continue reading until i got the exact number of bytes from the input stream.<br>

<br>
Now, what happens when reading simple responses such as:<br>
<br>
Request response: Content-Type: command/reply<br>
Reply-Text: +OK<br>
<br>
Is there a way to detect the end of such blocks?<br>
<br>
The issue i have is following. Given that events are asynchronous (please correct me if i&#39;m wrong), i need a thread which continuously read and process them as they arrive. But then, considering that not only events are sent by Freeswitch, &nbsp;i want to also detect different response commands properly.<br>

<br>
Let me give an example. I send a command to Freeswitch to play a file. Right after that, i wait for the answer from Freeswitch. But just before the response, Freeswitch could send a DTMF event. &nbsp;If i use a dedicated reading thread, how does it identify the response that resulted from the play file command? &nbsp;Otherwise, if i try to synchronously wait for the result just after sending the play file command, how do i say that what i will get from Freeswitch is not just the part of an event?<br>

<br>
Does this make any sense to you?<br>
<br>
Thanks,<br>
Klaus.<br>
<br>
--<br>
&quot;Feel free&quot; - 10 GB Mailbox, 100 FreeSMS/Monat ...<br>
Jetzt GMX TopMail testen: <a href="http://www.gmx.net/de/go/topmail" target="_blank">http://www.gmx.net/de/go/topmail</a><br>
<br>
_______________________________________________<br>
Freeswitch-users mailing list<br>
<a href="mailto:Freeswitch-users@lists.freeswitch.org">Freeswitch-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Anthony Minessale II<br><br>FreeSWITCH <a href="http://www.freeswitch.org/">http://www.freeswitch.org/</a><br>ClueCon <a href="http://www.cluecon.com/">http://www.cluecon.com/</a><br>
<br>AIM: anthm<br><a href="mailto:MSN%3Aanthony_minessale@hotmail.com">MSN:anthony_minessale@hotmail.com</a><br>GTALK/JABBER/<a href="mailto:PAYPAL%3Aanthony.minessale@gmail.com">PAYPAL:anthony.minessale@gmail.com</a><br>
IRC: <a href="http://irc.freenode.net">irc.freenode.net</a> #freeswitch<br><br>FreeSWITCH Developer Conference<br><a href="mailto:sip%3A888@conference.freeswitch.org">sip:888@conference.freeswitch.org</a><br><a href="http://iax:guest@conference.freeswitch.org/888">iax:guest@conference.freeswitch.org/888</a><br>
<a href="mailto:googletalk%3Aconf%2B888@conference.freeswitch.org">googletalk:conf+888@conference.freeswitch.org</a><br>pstn:213-799-1400<br>