You'll probably need to be a little more clear in what your trying to achieve before you'll get a good answer.
- Do you want to have a conversation between your program and the device(s) on the other end or just 'monitor the traffic passing through?
- What OS(s) are you targeting?
Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller
If I understand your problem, I can solve it! Of course, the same can be said for you.