将客户端连接到服务器并在 C# 中从中获取文本文件
connect client to server and get a text file from it in C#
我想使用 C# 中的 IP 地址自动从客户端连接到服务器,并从服务器获取文本文件。
实现此目标的最佳方法是什么?
使用 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();
网络客户端
最简单的方法是使用 "WebClient"。参见 https://msdn.microsoft.com/en-us/library/system.net.webclient(v=vs.110).aspx
这个 class 有一个叫做
的函数
public string DownloadString(string address)
您可以使用它来将文本文件下载到内存中。
有关更多方法(例如 DownloadFile),请访问给定的 link。注意:如果在下载内容时在 UI-Thread 中执行,此方法可能会挂起 window。要么使用第二个线程来做这些事情,要么尽可能使用异步方法。
在这种情况下,您更愿意使用:
public Task<string> DownloadStringTaskAsync(string address)
关于异步的更多信息:https://msdn.microsoft.com/en-us/library/dd537609(v=vs.110).aspx
我想使用 C# 中的 IP 地址自动从客户端连接到服务器,并从服务器获取文本文件。
实现此目标的最佳方法是什么?
使用 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();
网络客户端
最简单的方法是使用 "WebClient"。参见 https://msdn.microsoft.com/en-us/library/system.net.webclient(v=vs.110).aspx
这个 class 有一个叫做
的函数public string DownloadString(string address)
您可以使用它来将文本文件下载到内存中。 有关更多方法(例如 DownloadFile),请访问给定的 link。注意:如果在下载内容时在 UI-Thread 中执行,此方法可能会挂起 window。要么使用第二个线程来做这些事情,要么尽可能使用异步方法。
在这种情况下,您更愿意使用:
public Task<string> DownloadStringTaskAsync(string address)
关于异步的更多信息:https://msdn.microsoft.com/en-us/library/dd537609(v=vs.110).aspx