バッファから送受信するために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
}