1

私は、iPad がサーバーであり、複数の iPhone がクライアントであるプロフェッショナルな iOS アプリケーションを構築しています。

次の事実を考慮してください: - 通信は、TCP を使用するソケットを介してローカル ネットワーク上でのみ動作します。- すべてのデバイスを同期させたい (すべてのデバイスにローカル データベースがある) - NEW、UPDATE、DELETE などのコマンドを送信して同期を維持できるようにしたい - いくつかのデバイスで通知を送信できるようにしたい添付データ (音声ファイル) - これらすべてのコマンドの優先度を定義したい。

プロトコルを定義する必要があると思うので、私の質問は次のとおりです。すでに存在しますか?

どうもありがとう !

4

1 に答える 1

1

ソケットメッセージをリッスンでき、サーバーはデータURLを含む単純な構造体、コマンドをクライアントに送信できます。その後、データを更新できます。たとえば、次のようになります。

#define MSG_DOWNLOAD 1

typedef struct{
   uint8_t cmd;
   uint8_t size;
} MSGHEADER

typdef struct{
   MSGHEADER header;
   char url[255];
} MSGDOWNLOAD;

cmd = 1でヘッダーを取得する場合はソケットで、URLを含むNSURLconnetionをサーバーに送信し、データをダウンロードして同期できます。

- (void)recivedDataFromBuffer:(NSData *)data
{

    MSGHEADER *pMsgHdr;
    pMsgHdr = (MSGHEADER*)[data bytes];

    int headerCMD = pMsgHdr->cmd;

    if (headerCMD == MSG_DOWNLOAD)
    {
        MSGDOWNLOAD download = *(MSGDOWNLOAD *)pMsgHdr;
        download.header = *pMsgHdr;

        // do sync stuff send url request etc.
    }
于 2012-03-25T14:42:55.313 に答える