Yeah but I'm limited to only one socket due to EMI/UCP specification that dates back to paging systems (though extended for SMS's).
Anyway - yes forking method (IO::Socket::INET) is already used for the other protocol (SMPP) server - I just thought that module itself (Net::SMPP) is taking care of that synchronization - when in reality (since we figured that both sides can write at the same time) it is doing exactly the same as I need to do for UCP - each operation/message/reply sent to one another has a "stamp" by which you match operation and reply. Communication is async in that you can send several messages, and then latter get responses for all of those - that they are accepted/rejected.
Now knowing that both sides can write to the socket at the same time - everything makes perfect sense.
Have you tried freelancing/outsourcing? Check out Scriptlance
- I work there since 2003. For more info about Scriptlance and freelancing in general check out my home node