TCPStream Class для многопоточного TCP-сервера - PullRequest
0 голосов
/ 20 апреля 2011

В настоящее время я работаю над переводом небольшого консольного приложения на приложение TCP-сервер / клиент.Клиент будет подключаться к серверу через любой клиент Telnet, а сервер будет реплицировать стандартный консольный интерфейс для каждого подключения Telnet.

Я начал изучать это, используя методы, которые я изучил из руководства Биджа по сетипрограммирование - принятие соединения, а затем использование fork () для разделения его на собственный процесс.

Однако я бы предпочел сохранить использование потокового ввода-вывода (исходное консольное приложение использует cin / cout, используя аналогичныефункции для сетевой логики сделают процесс преобразования намного проще).

Я обнаружил класс TCPStream, скрывающийся в sockets.h (http://www.gnutelephony.org/doxy/bayonne2/a00215.html)

Похоже, этот класс позволит мне использоватьсервер с потоковым вводом-выводом. Однако я не могу найти ни одного примера использования этого класса, и при этом я не могу найти объяснение того, как использовать с ним fork ().

Есть идеи? Заранее спасибо залюбая помощь.

1 Ответ

1 голос
/ 21 апреля 2011

Я думаю, вы путаете деревья с лесом.Один класс сокетов является настолько малой частью того, что вам нужно делать в целом, поэтому не стоит на этом фокусироваться.

Если ваша цель - просто заставить ваш проект работать, то просто используйте существующую среду, а не пытайтесьвытащить отдельные классы из большого проекта. POCO имеет класс TCPServer, который выполнит за вас 90% работы.QT, ACE и другие имеют похожие классы.Существует не так много документации по POCO, но они достаточно хорошо охватывают TCPServer, и вы можете многому научиться, читая исходный код, если это действительно там, где ваш интерес.

...