| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > Клиент-Сервер-Клиент |
| Автор: ne0n 20.9.2008, 11:30 |
| Привествую всех! Вообщем задача достаточно простая: Клиент передает серверу запрос\команду, и на нее сервер должен пересалть клиенту ответ. вообщем с передачей запросов серверу не возникло(кстати пока разбирался нашел ошибку в статье из Drkb "Создание сетевых приложений на Delphi с использованием Windows Sockets API" если кому интересно раскажу в чем там проблема была). как я понял для того чтобы переслать ответ нельзя использовать тот же сокет. Т.е. это надо опять надо создавать сокет, сервер будет конектиться уже к клиенту, а у клиент будет роослушивать порт и принимать ответ. собственно вопрос такой, правильно я мыслю?) |
| Автор: Matematik 20.9.2008, 15:01 |
| > как я понял для того чтобы переслать ответ нельзя использовать тот же сокет. Можно. Вообще с чего ты это взял? |
| Автор: BaD_SeCt0R 20.9.2008, 15:26 |
Нет |
| Автор: ne0n 20.9.2008, 18:06 | ||
дык попробовал и не получилось) да и потмо знакомый мне с пеной у рта доказывал что надо создать второй сокет и будет все норм...мне это показалось бредом, поэтому и решил сначало спросить на форуме
тоже самое сделал в клиенте. в SocketThread идет проверка на INVALID_SOCKET, и получаю что vWorkSocket как раз INVALID_SOCKET. Такое чуство что надо еще чтото сделать, но никак не пойму что) |
| Автор: Matematik 20.9.2008, 19:49 | ||
| > в SocketThread идет проверка на INVALID_SOCKET, и получаю что vWorkSocket как раз INVALID_SOCKE Где-то у тебя в коде ошибка. Чисто для примера, сокет подключившегося клиента передается через параметр в CreateThread() -> ClientProc() Прекрасно работает, принимает и отсылает данные по одному сокету, легко проверяется в telnet
|
| Автор: ne0n 21.9.2008, 00:34 |
ммм тогда буду искать ошибку, спасибо за пример. |
| Автор: BaD_SeCt0R 21.9.2008, 04:15 |
| ne0n, разбери работу с сокетами на стандартных TClientSocket/TServerSocket сначала, тогда подобные вопросы сразу отпадут |