私はC#初心者です。私は主にCでコーディングしました。誰かが洞察やコードスニペットを教えてくれることを願っています。
問題: データの読み込みと取得のために LRU (回線交換可能ユニット) と通信する C# で記述された GUI ソフトウェアがあります。現在、HTTP POST コマンドを使用してデータをラップトップ サーバーに転送する LRU サーバーがあります。ラップトップは現在、その LRU POST データを受け入れ、Web ページに表示します。ラップトップは、LRU 値を設定および取得するために、LRU に対して POST および GET コマンドも使用します。当社のソフトウェアで構成された別のラップトップを使用して、同じタスクを実行したいと考えています。私たちのラップトップは、GUI ウィンドウにデータを表示し、Web ブラウザー インターフェイスを使用しません。
ラップトップが次の定期的な HTTP POST データ コマンドを LRU から受信する方法を示す C# コード例はありますか? POST /mipg3/servlet/xmlToMySql HTTP/1.0 ?
ラップトップ サーバーが次の HTTP GET データ コマンドを LRU に送信する方法を示す C# コード例はありますか? GET /setFreq.shtml HTTP/1.1 および POST された LRU 応答を受信します。 ?
以下は、LRU と最初のラップトップの間のサンプル通信の Wireshark ネットワーク分析からのスニペットです (LRU で Web インターフェイスを使用)。
192.168.211.1 192.168.211.143 HTTP POST /mipg3/servlet/XmlToMySql Http/1.0
192.168.211.143 192.168.211.1 HTTP HTTP/1.0 200 OK
192.168.211.1 192.168.211.143 HTTP POST /mipg3/servlet/XmlToMySql Http/1.0
192.168.211.143 192.168.211.1 HTTP HTTP/1.0 200 OK
192.168.211.143 192.168.211.1 HTTP GET /setFreq.shtml HTTP/1.1
192.168.211.1 192.168.211.143 HTTP POST /mipg3/servlet/XmlToMySql HTTP/1.0
GetResponseStream() を使用した WebResponse クラスが、これらの着信 LRU POST を読み取るために使用する必要があるかどうかはわかりません。また、LRU POST を取得するために GetRequestStream() を使用する WebRequest クラスを使用する必要があるかどうかもわかりません。
共有できるご支援をいただき、誠にありがとうございます。
-ケント
ps
以下は、LRU サーバーに POST して応答を受信するために使用できるコードです。着信 POST を受信して GET を送信するための実装方法がわかりません。
// Test code: HTTP POST w/return response string
using System.Net;
...
string HttpPost (string uri, string parameters)
{
// parameters: name1=value1&name2=value2
WebRequest webRequest = WebRequest.Create (uri);
//string ProxyString =
// System.Configuration.ConfigurationManager.AppSettings
// [GetConfigKey("proxy")];
//webRequest.Proxy = new WebProxy (ProxyString, true);
//Commenting out above required change to App.Config
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.Method = "POST";
byte[] bytes = Encoding.ASCII.GetBytes (parameters);
Stream os = null;
try
{ // send the Post
webRequest.ContentLength = bytes.Length; //Count bytes to send
os = webRequest.GetRequestStream();
os.Write (bytes, 0, bytes.Length); //Send it
}
catch (WebException ex)
{
MessageBox.Show ( ex.Message, "HttpPost: Request error",
MessageBoxButtons.OK, MessageBoxIcon.Error );
}
finally
{
if (os != null)
{
os.Close();
}
}
try
{ // get the response
WebResponse webResponse = webRequest.GetResponse();
if (webResponse == null)
{ return null; }
StreamReader sr = new StreamReader (webResponse.GetResponseStream());
return sr.ReadToEnd ().Trim ();
}
catch (WebException ex)
{
MessageBox.Show ( ex.Message, "HttpPost: Response error",
MessageBoxButtons.OK, MessageBoxIcon.Error );
}
return null;
} // end HttpPost