in reply to Re: Bi directional Socket question
in thread Bi directional Socket question
I disagree with this.
Yes, when dealing with a single socket handle in multiple processes, you need to be careful. For example, don't have both processes reading from it, or you'll get unpredictable results as you state.
However, the technique being used here is safe. Actually, it's pretty much straight out of the Perl Cookbook. One of the processes always only reads from the socket, the other process always only writes to it. This is safe, and it's an easy way to avoid needing to use select() and/or non-blocking reads/writes for bidirectional socket communication, in certain circumstances. It certainly can't be used in every case: for example, if you need to know what was just read in order to determine what you're going to write next. But for writing what's essentially a telnet client, it's perfect.
Alan
|
---|