Intereting Posts
Динамический LiveTile – добавление фонового изображения? TFS API – есть ли способ получить список переходов для типа workitem? DataGridView ComboBox Column: изменить значение ячейки после выбора из раскрывающегося списка? Программно отключить сетевое подключение Может ли «использование» с несколькими ресурсами вызвать утечку ресурсов? Установить значение по умолчанию для всех столбцов в DataGridView Могу ли я установить тайм-аут для UdpClient в C #? ASP.NET Core MVC (бывший MVC 6) Ошибки бритвы, которые не попадают в фильтр исключений Используйте строку для вызова переменной в C # Async и ждут в controllerе MVC 4 Есть ли в Entity Framework 4 функция Содержит? Отключить расширенные функции с помощью iTextSharp тип или имя пространства имен не существует в пространстве имен ASP.NET MVC Windows Authentiaction и DirectoryServices – Получить почтовый адрес текущего пользователя выдает InvalidCastException Как определить, какой разделитель используется в текстовом файле?

Передача файлов Peer to Peer c #

Эй, я смотрел на google, и я не могу найти ничего о том, что происходит с peer to peer.

В принципе, я хочу, чтобы иметь возможность отправлять файл с моего компьютера на чужой компьютер. Кто-нибудь знает какие-нибудь руководства, которые могут мне помочь?

Благодарю.

    Если вы действительно просто хотите «отправить файл с моего компьютера на чужой компьютер» с помощью C #, вы можете не искать истинный p2p. Вы можете просто использовать raw TCP. Для этого вам нужен удаленный компьютер для прослушивания подключения, вашего компьютера, чтобы открыть соединение с удаленным компьютером и начать отправку данных.

    Есть очень простой пример, как сделать что-то подобное здесь .

    Если вы действительно ищете истинный P2P, вам лучше использовать существующую сеть P2P (иначе на вашем компьютере будет никто, кроме вас и вашего другого компьютера). Существует несколько библиотек C # BitTorrent – например, BitSharp , TorrentNet . Существует целый вопрос о библиотеках BitTorrent, написанных на чистом C # .

    Google «System.Net.PeerToPeer» – пространство имен, доступное в среде .NET 3.5. Вам не составит труда найти документы и пример кода.

    Если конечный компьютер может выставить URI для публикации, вы можете просто использовать

    WebClient.UploadFile(Uri address, string filename) 

    Он просто просто берет URI в качестве адреса (http, ftp, даже файловый протокол для передачи на общий ресурс папки).

    Но для этого требуется настройка серверной части для публикации, но она будет независимой от платформы на сервере (например, любой старый FTP-сервер или веб-страница или служба, принимающая файл методом POST). Однако проблема безопасности может быть проблемой.

    Это использование модели push. WebClient также можно использовать с другой стороны для загрузки. Он также поддерживает передачу streamов данных, строк и т. Д.

    Взгляните на этот проект проекта Code .

    Он обеспечивает обмен P2P и передачу файлов и может быть либо вдохновением, либо решением.