在c#中连接到GPS Deamon服务

时间:2016-08-08 14:17:48

标签: c# gps gpsd

我正在开发一个应用程序,我需要通过 GPSD服务获取我的位置。我使用 C#作为我的库(与项目相同),这是GPSD本身不支持的,所以他们没有任何库。这就是为什么我要创建自己的库(最终制作一个nuget包)的原因。

但是我遇到了以下问题。我通过套接字与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();
}

My Github

1 个答案:

答案 0 :(得分:0)

我发现了如何连接到该服务:例如@x...表示它全部在链接中: link

我需要发送的命令是:

var byteData = Encoding.ASCII.GetBytes("?WATCH={\"enable\":true,\"json\":true}");
                client.Client.Send(byteData);