Hi Dr H,
There are two basic approaches you can take, which you probably know but
I'll lay them out for clarity. And maybe you're already doing one of
them - from what you've told us, I couldn't tell.
-- #1: handle the connection in an "inline" manner -----------
on openStack -- or your message of choice
accept connections on port 8010 with message "newClient"
end openStack
command newClient pSocket
-- read all the incoming data
put empty into tData
repeat -- the belt-and-suspenders approach
read from socket pSocket until empty
if it is empty
then exit repeat
else put it after tData
end repeat
-- do whatever
put processData(tData) into tResponse
-- write a response
write tResponse to pSocket
-- say goodbye
close socket pSocket
end newClient
-- #2: handle the connection in a message-driven manner ---
on openStack
accept connections on port 8010 with message "newClient"
end openStack
command newClient pSocket
-- read all the incoming data
read from socket pSocket until empty with message "newData"
end newClient
command newData pSocket, pData
-- do whatever
put processData(pData) into tResponse
-- write a response
write tResponse to pSocket with message "newWrite"
end newData
command newWrite pSocket
close socket pSocket
end newWrite
----------------------------------
At least one of these approaches should serve your needs.
Phil Davis
On 5/8/15 12:16 PM, Dr. Hawkins wrote:
> On Fri, May 8, 2015 at 8:05 AM, Dr. Hawkins <dochawk at gmail.com> wrote:
>
>> It does???
>>
>> I guess I'm misunderstanding the docs, then--I though it would stay at
>> that line, rather than going on to execute. I'll have to experiment some
>> more.
>>
> Now I'm even more confused.
>
> I accept sockets on 8010 with message "newClient"
>
> When I connect from another program (I'm actually running the slave under
> 5.5 so I can debug separately), it shows that the connection is "
> 127.0.0.1:52572"
>
> A subsequent line
>
> read from socket clAdr with message "dhbkProcScktDat"
>
> results in livecode hanging with a beachball forever. If I comment that
> out, write a message from the other, and
>
> read from socket "127.0.0.1:8010" until empty
>
> I'm told that the socket is not open. I then try
>
> read from socket "127.0.0.1:52572" until empty
>
> and get an empty result back (after writing from the other).
--
Phil Davis