|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.08.2011, 11:12 | #1 |
Пользователь
Регистрация: 04.12.2010
Сообщений: 23
|
Клиент-сервер(асинхронный) - передача файлов
Добрый день!
Пишу клиент и сервер с передачей текстового файла от клиента серверу. Задачу нужно решить с использованием неблокирующих сокетов. Всё в принципе работает, но файл почему-то передаётся не всегда, кроме того, если запускаю отдельно экзешники (т.е. не из билдера), то файл не передаётся вообще. Вот код клиента и сервера, и ещё приложен архив с проектом. Буду очень благодарна за помощь! Клиент передаёт файл: Код:
Код:
|
16.08.2011, 22:56 | #2 |
Пользователь
Регистрация: 04.12.2010
Сообщений: 23
|
Проблема решена.
Видимо, так как сокеты асинхронные, сервер открывает для клиента сокет и принимает данные до тех пор, пока не выполнится какое-то условие. То есть на каждом шаге бесконечного цикла могут поступить данные от любого из клиентов. Поэтому внутренний цикл, во время которого у меня сервер должен был обслуживать конкретного клиента (после чего закрывать сокет), не нужен - вместо него на каждом шаге внешнего цикла принимаются порция данных уже "открытого" клиента. Вот работающий код сервера. Код:
|
19.08.2011, 19:20 | #3 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
за использование функций как процедур следует кастрировать на месте, без суда и следствия.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Передача файла клиент-сервер | Loveb | C/C++ Сетевое программирование | 2 | 27.05.2011 10:10 |
Need Help! Передача файлов (Сервер-Клиент) | Elandar | Работа с сетью в Delphi | 1 | 25.07.2008 00:22 |
Передача файлов по интернету. Клиент-сервер. | Kukkk | Работа с сетью в Delphi | 4 | 03.12.2007 06:08 |
Передача файлов на WEB-сервер | SeregaP | Работа с сетью в Delphi | 18 | 09.04.2007 08:41 |