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 <[email protected]> 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


_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to