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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сокеты Передача файлов 
:(
    Опции темы
Ivankult
Дата 31.1.2010, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Возникла следующая проблема-при передаче файлов через сокеты.
Клиент пересылает файл размером 10 КБ, а сервер должен его получить и записать на винт. Но на винт записывается только 1КБ, т.е и приходит 1 КБ, а не 10. Размер Буфера сокета увеличил так: 
Sock.ReceiveBuffSize=1048576;
Sock.SendBuffSize=1048576;

и у сервера и у клинта. Но проблема осталась. В чем дело?
--------------------
Стив Макконнелл: «Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете».
PM MAIL ICQ   Вверх
Ivankult
Дата 1.2.2010, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



При проходе кода отладчиком замечаю, что размер приходящего сообщения =1024, т.е. 1 КБ. Но я ведь изменил размер буфера! Почему?
--------------------
Стив Макконнелл: «Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете».
PM MAIL ICQ   Вверх
nmn
Дата 2.2.2010, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



покажи код
PM Skype   Вверх
Moid
Дата 2.2.2010, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Для передачи файлов использовал NetTcpBinding:

Код

NetTcpBinding netTcpBinding = new NetTcpBinding(SecurityMode.None, true);
        
        int maxFileSize = maxReceivedMessageSize ;
        
        netTcpBinding.MaxReceivedMessageSize = maxFileSize;
        netTcpBinding.MaxBufferSize = maxFileSize;
        netTcpBinding.ReaderQuotas.MaxArrayLength = maxFileSize;
        netTcpBinding.ReaderQuotas.MaxBytesPerRead = maxFileSize;
        netTcpBinding.ReaderQuotas.MaxStringContentLength = maxFileSize;
        //...



--------------------
"Всё должно быть сделано настолько простым, насколько это возможно, но не проще" (с) А.Эйнштейн
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




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


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

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