Знаю только Remting а хочу большего )
От: arkhivania  
Дата: 08.07.08 09:38
Оценка:
Вообще вопрос у меня не совсем простой и его решение я специально оставил уважаемым профессионалам с этого форума. Звучит он примерно так.
Есть несколько клиентских компутеров, часть которых находится в одном домене с сервером, другая часть компутеров находится хрен знает в каком домене или вообще принадлежит неизвестной рабочей группе WORKGROUP. В случае, когда компутер может достучаться к некоторой папке расшареной сервером всё работает замечательно и клиентская часть работает на ура используя обычные FileStream — ы, для остальных же случаев написано глупейшее серверное приложение которое дает через Remoting DirectoryInfo и FileInfo объекты у которых можно вызывать OpenRead и OpenWrite и в общем-то оставаться счастливыми, что FileInfo является MarshalByRefObject. Но со скоростью вот этого у меня возникли ужасные подозрения (на практике которые хорошо подтверждаются). Вот допустим вызываю я у Stream — а метод Read


   byte[] buff = new byte[32000];
   stream.Read(buff, 0, buff.Length);


в случае с Remoting пустой buff размером в 32к будет передаваться сначала на сервер (что конечно мне не нужно), там прочитаются 32к и вернется мне опять 32к уже с нужными мне байтами. Получается явно ненужный труд сетевого оборудования. Нужно мне эту проблему решить. То есть придумать как-бы в случае работы с Remoting использовать по максимуму сетевые скорости (к сожалению для нашего приложения это очень важно). Может специально для таких целей написать свой Stream который работает на чистом TCPIP? Очень жду ваших размышлений. Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.