2016-10-30 14 views
0

C#でIPアドレスを持つサーバーにクライアントから自動的に接続し、サーバーからテキストファイルを取得します。クライアントをサーバーに接続し、C#でテキストファイルを取得します

これを達成するにはどうすればよいでしょうか?

+0

、FTP、HTTP、...を? – McNets

+0

@mcNets Windowsサーバーを持つサーバーを持っています –

+0

サーバーから何かを取得するには、アプリケーション/サービスが必要です。ftpサーバーをインストールする場合はftpクライアントに接続します。IISを使用する場合はhttpを使用して、あなたのアプリサーバーを書くことさえできます。最高の?それは依存します – McNets

答えて

1

のWebClient

そうする最も簡単な方法は、 "Webクライアント" を使用しています。このクラスは、

public string DownloadString(string address) 

あなたがメモリにテキストファイルをダウンロードするためにこれを使用することができますと呼ばれる機能を持っていhttps://msdn.microsoft.com/en-us/library/system.net.webclient(v=vs.110).aspx

参照してください。 その他のメソッド(例:DownloadFile)では、指定されたリンクを参照してください。注意:このメソッドは、コンテンツのダウンロード中にUIスレッドで実行されると、ウィンドウをハングすることがあります。可能であれば、第2のスレッドを使用して処理を実行するか、非同期メソッドを使用してください。

あなたではなく、この使用します。この場合

public Task<string> DownloadStringTaskAsync(string address) 

非同期についての詳細情報:ご使用のサーバーで使用したいサービスに応じて、https://msdn.microsoft.com/en-us/library/dd537609(v=vs.110).aspx

0

次のようにWebRequestを使用すると簡単に達成できます。

// Create a request for the URL. 
WebRequest request = WebRequest.Create("http://yourdomain.com/textfile"); 
// Get the response. 
WebResponse response = request.GetResponse(); 
// Get the stream containing content returned by the server. 
Stream dataStream = response.GetResponseStream(); 
// Open the stream using a StreamReader for easy access. 
StreamReader reader = new StreamReader(dataStream); 
// Read the content. 
string responseFromServer = reader.ReadToEnd(); 
+0

ウェブサイトとドメイン、私はちょうどWindowsサーバーを持つサーバーを持っています –

+0

あなたのローカルエリアネットワーク上の内部IPアドレスに要求を送信することによって、この方法を引き続き使用できます。 –

+0

WebRequestが低すぎる可能性があります。 WebClientを使用することをお勧めします – czubehead