0

GPSD サービスを介して自分の位置を取得する必要があるアプリケーションに取り組んでいます。ライブラリ (プロジェクトと同じ) にC#を使用していますが、これは GPSD 自体ではサポートされていないため、ライブラリがありません。そのため、私は独自のライブラリを作成しようとしています (そして最終的にはそのライブラリのナゲット パッケージを作成します)。

しかし、次の問題に行き詰まりました。ソケットを介して GPSD サービスに接続し、次のデータを取得します。

{"class":"VERSION","release":"3.11","rev":"3.11-3","proto_major":3,"proto_minor":9}

接続は機能していますが、GPS データ自体を取得する方法がわかりません。それに関するドキュメントはあまりありません。これに関する経験がある人はいますか、またはこれを達成する方法を知っていますか?

using (var client = ConnectViaHttpProxy(ServerAddress, Port, ProxyAddress, Port))
{
    while (client.Connected)
    {
        var result = new byte[256];
        client.Client.Receive(result);


        //_response = Encoding.UTF8.GetString(result, 0, result.Length);
        _response = Encoding.ASCII.GetString(result, 0, result.Length);
        var resultClass = JsonConvert.DeserializeObject<GpsdData>(_response);
        Console.WriteLine(resultClass.ToString());

        Thread.Sleep(10);
    }

    client.Close();
}

私のGithub

4

1 に答える 1

1

私はサービスに接続する方法を見つけました:@x...それはすべてリンクにあると言います: リンク

送信する必要があるコマンドは次のとおりです。

var byteData = Encoding.ASCII.GetBytes("?WATCH={\"enable\":true,\"json\":true}");
                client.Client.Send(byteData);
于 2016-08-08T14:36:57.023 に答える