![]() |
|
Модераторы: gambit |
![]()
|
|
| skhilkov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 371 Регистрация: 11.4.2006 Где: TOMSK Репутация: нет Всего: 7 |
Не могу прочитать данные из сокета. Записать могу - прочитать никак. Вот код(правда пишу по памяти, так что может ошибусь где-то):
Может посоветуете что сделать, или хотя бы литературу какую-нить по этой теме? -------------------- Кто понял жизнь, тот не спешит. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 2 Всего: 232 |
Перед тем как вызывать Read, надо бы проверить у NetworkStream-а (у того, который передали в конструктор BufferedStream-а) свойство CanRead.
-------------------- ![]() |
|||
|
||||
| skhilkov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 371 Регистрация: 11.4.2006 Где: TOMSK Репутация: нет Всего: 7 |
Пробовал, по-моему было false, а что тогда?
-------------------- Кто понял жизнь, тот не спешит. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 2 Всего: 232 |
Ждать, видимо
-------------------- ![]() |
|||
|
||||
| skhilkov |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 371 Регистрация: 11.4.2006 Где: TOMSK Репутация: нет Всего: 7 |
-------------------- Кто понял жизнь, тот не спешит. |
|||
|
||||
| skhilkov |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 371 Регистрация: 11.4.2006 Где: TOMSK Репутация: нет Всего: 7 |
В течение 2 дней я мучил эту проблему, наконец нашел решение - использую BinaryReader. В ходе дебаговых экспериментов (!!) я выяснил, что при использовании вот этого куска кода происходит странная вещь - bufStream.ReadByte() никогда не возвращает -1, хотя в документации написано, что именно это и происходит если байт читается из конца потока. Так вот, на этом куске он прочитывал все байты(корректно), которые пришли от сервера. Функция Read тоже повисает, я так догадываюсь что возникла проблема с чтением конца потока.
затем я попробовал использовать BinaryReader, вот код:
Вот этот код заработал корректно, все считал и возвратил реальное количество байт, которые записаны в сокете. И никакого вам зависания... Вот, может кому понадобится. Если кто может объяснить в чем дело, я буду очень признателен! -------------------- Кто понял жизнь, тот не спешит. |
||||
|
|||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Распределённые приложения и сеть | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |