クラスを使用して UAP サーバー (Huawei で USSD メッセージの送受信に使用) に接続しようとしていますSocket
が、サーバーからのデータの受信中に問題が発生します。サーバーに正しく接続でき、サーバーにデータを送信することもできますが、データの受信に問題があります。
これは、メッセージを接続して送信するための私のコードです:
IPAddress ipAddress = IPAddress.Parse("127.0.0.1"); //server
IPEndPoint remoteEP = new IPEndPoint(ipAddress, 2020);
clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
clientSocket.Connect(remoteEP);
//bind to socket, here I send bind message
Bind();
関数内で、メソッドBind
を呼び出しreceive
てサーバーからデータを取得します。
private static void receive()
{
try
{
// Create the state object.
StateObject state = new StateObject();
state.workSocket = clientSocket;
// Begin receiving the data from the remote device.
clientSocket.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0,
new AsyncCallback(receiveCallback), state);
}
catch (Exception ex)
{
Console.WriteLine("receive | " + ex.ToString());
}
}//receive
ここでは、接続、データの送信、およびサーバーからのデータの受信中に、私の Wireshark ログを確認できます。
しかし、ご覧のとおり、サーバーからの最後の 2 つのメッセージは赤色で強調表示されています。これは、サーバーからのデータの受信に問題があることを意味します。data
また、フィールドの詳細は表示されません。
何が問題なのか本当にわかりません。これはサーバーの問題ですか?別の Socket クライアントを使用してサーバーに接続し、データを受信する必要がありますか?