Bob Sneidar wrote: > Sockets are by nature a 2 way communication. After I write to a socket > I can read from that socket and get back whatever the receiver returns. > In fact the whole premise of what I am doing depends on it.
Yes, the socket connection is birectional, but establishing that connection requires two roles: someone has to dial the number (client), and someone else has to be sitting by the phone ready to pick up (server). Both roles can be present on both sides, creating a system of peers. But a firewall will make reaching the listening app difficult, and a good firewall will make reaching that app impossible unless host-specific forwarding configurations are set up. My most persuasive conversations on that with the IT staff at various orgs over the years have only reinforced my respect for the seriousness they bring to their work (in other words, when asked to have the org's firewall altered to support a departmental ad hoc usage, the answer is roundly "no"). P2P systems often rely on methods like STUN (Session Traversal Utilities for NAT) or IRC's older CTCP (Client-to-Client Protocol) to use an outgoing connection bidirectionally, ultimately letting the firewall do its thing while still allowing an app to be reachable. But STUN and others like it still require a server on a network reachable by all parties (usually the Internet) to broker that re-routing. I'm reading up on STUN now to handle some integrations with a VOIP app, and so far I can't recommend attempting to script a replacement for that complex method. And on some networks which use CGN (Carrier-Grade NAT, such as T-Mobile uses for their popular home Internet product), even STUN can become problematic. If anyone here has LC code for a home-grown STUN-like system I'd be grateful to read it. Bonus if it needs no server to mediate the connection. -- Richard Gaskin FourthWorld.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