Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача файла, TCPListener 
V
    Опции темы
Dottik
Дата 20.12.2006, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 13.10.2006
Где: Ukraine

Репутация: нет
Всего: 2



Некоторые файлы передаются нормально. А у некоторых выскакивает Exception:

I
Код

An unhandled exception of type 'System.ArgumentException' occurred in mscorlib.dll

Additional information: Found a low surrogate char without a preceding high surrogate at index: 741.  The input may not be in this encoding, or may not contain valid Unicode (UTF-16) characters.


Объясните с чем это связано и как обойти.

Вот фрагмент передачи файла:

Код

        public void Do(ref StreamWriter serverStreamWriter, ref StreamReader serverStreamReader)
        {
            string param = serverStreamReader.ReadLine();
            FileStream fs = new FileStream(param, FileMode.Open);
            BinaryReader br = new BinaryReader(fs);
            char [] buf = new char[1024];
            int count;
            FileInfo fi = new FileInfo(param);
            long size = fi.Length;
            serverStreamWriter.WriteLine(size.ToString());
            br.BaseStream.Position = 0;
            while ((count = br.Read(buf, 0, 1024)) > 0)
            {
                serverStreamWriter.WriteLine(count.ToString());
                serverStreamWriter.Flush();
                serverStreamWriter.Write(buf);
                serverStreamWriter.Flush();
            }
            serverStreamWriter.WriteLine(@"0");
            serverStreamWriter.Flush();
        }



Спасибо.
PM MAIL   Вверх
mr.DUDA
Дата 21.12.2006, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 2
Всего: 232



Может серверу бинарные файлы не нравятся ?


--------------------
user posted image
PM MAIL WWW   Вверх
Dottik
Дата 22.12.2006, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 13.10.2006
Где: Ukraine

Репутация: нет
Всего: 2



Именно.Объясните с чем это связано и как обойти. Спасибо.
PM MAIL   Вверх
mr.DUDA
Дата 22.12.2006, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 2
Всего: 232



Задавать кодировку для вывода в StreamWriter, которую поймёт сервер (utf-16). Конечно, если речь о текстовых файлах. Если же передаются бинарные (картинки и т.п.) и сервер - также наше приложение, то на стороне сервера нужно юзать не StreamReader а BinaryReader, или читать из NetworkStream напрямую.


--------------------
user posted image
PM MAIL WWW   Вверх
Dottik
Дата 24.12.2006, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 13.10.2006
Где: Ukraine

Репутация: нет
Всего: 2



 smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0425 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.