2014-08-04 2 views
0

Я хочу, чтобы сохранить базу данных файлов только на сервере, так что, когда я загрузить файл я хочу, чтобы отправить его в «127.0.0.1» я попытался следующий кодОтправка любого файла на локальный

private void SendFile(string fileName = "C:\\test.txt") 
{ 
    IPHostEntry ipHost = Dns.GetHostEntry(Dns.GetHostName()); 
    IPAddress ipAddr = ipHost.AddressList[0]; 
    IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 11000); 

    Socket client = new Socket(ipAddr.AddressFamily, 
      SocketType.Stream, ProtocolType.Tcp); 

    client.Connect(ipEndPoint); 

    byte[] fileBytes = File.ReadAllBytes(fileName); 

    client.Send(fileBytes); 

    client.Shutdown(SocketShutdown.Both); 
    client.Close(); 
} 

Но продолжайте получать мне эту ошибку: «Никакое соединение не может быть сделано, потому что целевая машина активно отказалась от него» Какой сервер не прослушивает.

Так,

1) Как это исправить для того, чтобы иметь возможность отправить любой файл на локальный

2) Как я могу открыть файлы в браузере с помощью «127.0.0.1 [FileName]. [ Ext] "

+0

У вас есть что-нибудь прослушивание порта 11000 на этой машине? Является ли брандмауэр разрешающим подключение? –

+0

Какой сервер не прослушивает? –

+0

Результат, который я получил от поиска по этой проблеме, состоял в том, что сервер не прослушивает, это мой первый раз, когда мы имеем дело со сокетами и сетями, поэтому не перестарайтесь, что делать. – user3808010

ответ

0

Вам необходимо написать что-нибудь для прослушивания порта с использованием класса SocketServer. Код, который вы написали, ожидает, что сервер будет прослушивать соединение в 11000. Это делается с использованием метода Listener.Listen(). Полный пример: http://msdn.microsoft.com/en-us/library/fx6588te(v=vs.110).aspx

Смежные вопросы