0

バッファから送受信するためにWiFlyシールドを接続したままにするにはどうすればよいですか?

サーバーとの接続状態を維持し、サーバーがデータを複数回送信するのを待つ必要があります。

テストしましたが、サーバーから受信できるのは1回だけで、接続を閉じて再度接続しない限り、受信できなくなりました。しかし、私は再接続したくありません!

コード:

loop{
    Package sendbuf;  //Package is a structure for converting buffer to Package struct
    sendbuf.header = 0xaa;
    if (client.connect())
        logon(sendbuf,client); //Send message to server; request log in.

    while (client.connected()) {
        //=====================================//
        //      while receive buffer           //
        //=====================================//

        if (client.available()) {
            unsigned char rxBuffer[256] = {};
            delay(10);

            //=======Receive buffer process=======
            int index=-1;
            do{
                index++;
                rxBuffer[index] = client.read();

                if (rxBuffer[index] == 0xff)
                {
                  index--;
                }
            } while (client.available());

            Package* buf = (Package*)rxBuffer;
            int result = readBufferfromServer(buf);

            if (result == 2)  //result:2 mean log in is a success!
            {
                security(sendbuf, client); //Send security message to the server.
            }
            else
                if (result == 1)  //result:1 mean security checking is a success!
                {
                    //Do something
                }

        }// end of client avaliable
    }
4

0 に答える 0