私がアプローチする方法は、ネット上に「サーバー」を作成し、(CGI スクリプトなどの) アプリケーションを実行してデータを収集 (おそらくデータベースに保存) し、リモート デバイスを許可することです。それを照会します。
これは、すべてのデバイスが接続している "既知のサービス" を持っていることを意味します - 潜在的に "ログイン" し、そこからデータを選択します。
たとえば、各「クライアント」は「船舶名」と GPS 位置をプッシュできます。サーバー上の CGI スクリプトは、これらを「船舶名」と「場所」を含む単純なテーブルとして MySQL データベースに配置します。
別の方法として、クライアントは特定の船舶名の GPS 位置をクエリして「プル」することもできます。「Vesel Name」を値として受け取り、MySQL クエリをデータベースに送信して「Location」を返す単純な CGI スクリプトとして。場所 (および船舶名) を XML 形式で送り返すことができます。
iPhone クライアントは NSXMLParser を使用できます。または、JavaScript の「AJAX」クライアントでさえ、固有の XML 解析機能を使用して、1 つ (または複数) の船舶に要求を送信し、結果を受け取ることができます。
やりたくないことは、各クライアントが他のクライアントと直接話さなければならないことです。これにより、ファイアウォール ルールで問題が発生し、多対多の通信をスケーリングしようとすると混乱します。