Форум: "Сети";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];
ВнизProgressBar Найти похожие ветки
← →
Гоги (2004-07-14 04:11) [0]Всем привет. Написал простенький чат с возможностью пересылки файлов на основе TServerSocket&TClientSocket. Клиент отсылающий, сервер принимающий. Файл отсылается с помощью TFileStream. Ни как не соображу, где отлавливать прогресс пересылки файла на отсылающем компе. Помогите решить эту проблему.
← →
Digitman © (2004-07-14 08:05) [1]реализуй и используй в качестве стрима своего наследника класса TFileStream
в этом наследнике перекрой виртуальный метод Read() - будешь иметь полный контроль над считыванием блоков файла
← →
Гоги (2004-07-14 19:09) [2]Спасибо за совет! Все работает!
Но теперь появилась еще одна проблема. В моей программе используется две пары компонентов TClientSocket&TServerSocket, одна пара для пересылки файлов, другая для обмена сообщениями.
То есть создается два разных сокета. И когда они работают параллельно, время от времени возникает ошибка "Asynchronous socket error", ну или что-то вроде этого. Ясно, что необходима какая-то синхронизация. У сокета есть свойство ASyncStyles, это оно?
← →
Piter © (2004-07-14 22:39) [3]Гоги (14.07.04 19:09) [2]
о есть создается два разных сокета. И когда они работают параллельно, время от времени возникает ошибка "Asynchronous socket error",
по-моему, это не из-за того, что они работают параллельно
← →
Гоги (2004-07-15 00:29) [4]по-моему, это не из-за того, что они работают параллельно
Возможно. Но у меня эта ошибка вылетает только при одновременной передачи данных. Да и то не всегда. Если передается файл и при этом попытаться передать сообщение, примерно в одном из трех случаев возникает ошибка. Сообщение до удаленного компа не доходит.
← →
VID © (2004-07-15 00:42) [5]Гоги (15.07.04 00:29) [4]
может если clientsockt который отправляет файл разместить в потоке А, а clientsocket который "общается" разместить в потоке B то ошибки не возникнет. желательно что бы ни A ни B не были основным потоком процесса(приложения).
Это всего лишь предположение...
← →
Гоги © (2004-07-16 01:48) [6]Я немного изменил алгоритм передачи файлов и ошибка пропала сама собой. Что это была за ошибка, для меня остается загадкой. Большое всем спасибо.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.037 c