Thanks John. I think I'm getting a handle on this now. A client connects to a port and a socket number identifies that client on the port. A server accepts connections on a specific port but then talks to each client that connects to it via the socket assigned to the client.
I think the confusion in my mind was caused by the way LC identifies the port/socket.. In both cases showing what is described as a socket consists of the ip address followed by a colon followed by either a socket number or a port number. The dictionary adds to the confusion when, in the write to socket entry, it says the socket id is an ip address followed by a port when it's actually followed by a socket. Also got confused on the read from with/without a message callback. It's the form without the message callback that pauses until the read finishes. The dictionary is confusing on this issue too. It says if you specify a callback message, the message is sent "as soon as the read is finished". I took that to mean the read command didn;t terminate until its end condition was met. However it only mentions the socketTimeoutInterval.in the context of reads without a callback which is why I was surprised to get the socketTimout message as a result of read with a callback. Now I'm wondering if I have to issue another read from within the socketTimeout handler. Plus, is the socketTimeout message sent if the interval expires after a read has started but before it ends? Pete lcSQL Software <http://www.lcsql.com> Home of lcStackBrowser <http://www.lcsql.com/lcstackbrowser.html> and SQLiteAdmin <http://www.lcsql.com/sqliteadmin.html> On Tue, Jan 14, 2014 at 12:13 PM, John Craig <j...@splash21.com> wrote: > Hi, Pete. If client A connects to server:10100 from 192.168.0.10:12345, > then the server can send a response back to client A through > 192.168.0.10:12345. Each client that connects to the server can be > identified and communicated with in the same way : via the ip:port that > they used to send the data. > > read from socket with messages doesn't block > > > John. > > > > > On 14/01/2014 17:22, Peter Haworth wrote: > >> Diving into yet another new are of Livecode for me - sockets. >> >> My server issues an accept statement for port 10100. My client opens >> socket 10100. WHen the client connects to the server, the port number I >> get is not 10100, but some other number which changes on each connection. >> When sending messages between the client and server, which of these >> numbers should I use? >> >> My server uses read from socket with a callback message specified. I have >> a socketTimeout message handler which fires every time the >> socketTimeoutInterval expires. I thought the "read from socket with >> message" command was blocking and everything would stop until a message is >> received. If that's the case, it seems odd that these timeouts should >> occur? >> >> Pete >> lcSQL Software <http://www.lcsql.com> >> _______________________________________________ >> use-livecode mailing list >> use-livecode@lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your >> subscription preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode >> >> > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode