2009-10-24 3 views
1

Я работаю с asp.net MVC. Теперь я не знаю, как отправить данные с сервера (используя asp.net) на другой сервер, используя (консоль командной строки win32). Плз помоги мне.ASP.net (MVC) и Winsock

P/S: В этом методе есть дыра в безопасности.

ответ

2

В общем случае дело в том, что большинство портов сегодня заблокированы за брандмауэрами, поэтому установка чего-то подобного с помощью winsock устарела. Если вы пытаетесь подключиться к двум серверам, есть много вариантов, вы можете посмотреть System.Web.WebClient, System.Net.HttpWebRequest, Microsoft's Sync Framework, Rhino queues, но это означает, что они работают на первых двух.

Одним словом, HttpWebRequest дает вам более мелкий контроль над вашим запросом . WebClient этого не делает. Он инкапсулирует большую часть материала для вас.

WebClient очень полезно, если вы хотите сделать специализированные, разовые задачи, например: скачать файл, сделать формы пост и т.д.

HttpWebRequest полезно, если вы хотите сделать более сложные вещи.

WebClient особенно упрощен, мы можем использовать его DownloadData, DownLoadFile для восстановления файла/потока с удаленного веб-сервера. Вот некоторые технические статьи и ресурсы, описывающие с помощью WebClient или WebRequest:

Hosting WCF services, WebClient here и WebRequest here.

1

У вас есть два сервера, пытающихся связаться. Если вы собираетесь использовать IP (я предполагаю, что вы будете так как вы упомянули Winsock), вы должны выбрать между этими двумя протоколами:

  1. TCP
  2. UDP

После того, как вы решили, который можно использовать, вы можете написать серверный процесс (консольное приложение), который прослушивает определенный порт (TCP или UDP-порт в зависимости от того, что вы выбрали), который будет обслуживать ваш клиентский процесс (приложение ASP.NET).

Если вы используете TCP/IP, вы используете сокеты для связи. Если вы используете UDP/IP, вы будете отправлять и получать независимые пакеты.

Here - пример кода клиента/сервера TCP/IP в C#, который вы можете использовать. Вы завершите и запустите клиентскую часть этого примера - это класс, к которому вы можете получить доступ в ASP.NET MVC.

Here - образец кода сервера UDP/IP в C#.

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