Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > TTcpServer


Автор: danilsl 14.3.2007, 17:59
Привет всем.
Объясните мне пожалуйста принцип работы компонента TTcpServer. Я использую Turbo Delphi Explorer, поэтому ничего другого для обмена данными по сети использовать не могу (Ну разве что WinApi, но хотелось бы иметь событийно управляемое приложение  smile ). В поиске ничего конкретного не нашёл. Все найденые мною примеры, включая NetChat из 7-й Delphi иллюстрируют получение маленькой порции данных и моментального завершения соединения. И делается это в обработчике onAccept. А это, если я не ошибаюсь, способность работать только с одним клиентом одновременно. К тому же я не видел ни одного примера, где сервер передавал бы какието данные. Мне же нужно порядка 40 постоянных подключений с двусторонним обменом данными. Для этого я в обработчике onAccept запускаю отдельный поток и передаю ему параметр ClientSocket (TCustomIpClient). Однако у меня ни чего не работало, пока до меня не дошло, что как только onAccept отработал ClientSocket уничтожается и мой поток остаётся без сокета, хотя и думает, что сокет таки есть.
Основной вопрос такой: как из onAccept передать потоку сокет, так, чтобы он не уничтожился, и при этом TcpServer мог принимать новые подключения? Ну и если кому не сложно, подкиньте пожалуйста примеры работы.
Заранее всем благодарен.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)