1

クラスを使用して 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 ログを確認できます。

Wireshark ログ

しかし、ご覧のとおり、サーバーからの最後の 2 つのメッセージは赤色で強調表示されています。これは、サーバーからのデータの受信に問題があることを意味します。dataまた、フィールドの詳細は表示されません。

メッセージの詳細

何が問題なのか本当にわかりません。これはサーバーの問題ですか?別の Socket クライアントを使用してサーバーに接続し、データを受信する必要がありますか?

4

1 に答える 1

0

TCP リセット パケットは、アプリケーション レベルのプロトコルの一部ではないため、アプリケーションがそれらを見ることは想定されていません。

あなたが投稿したものでは問題が見られないため、あなたのアプリケーションでの誤った動作は正確には何ですか。

于 2013-08-04T19:54:37.787 に答える