在 C# 中连接到 GPS 守护进程服务
Connecting to a GPS Deamon service in c#
我正在开发一个需要通过 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();
}
我发现了我是如何连接到该服务的:就像 @x...
说的那样,它都在 link 中:
link
我需要发送的命令是:
var byteData = Encoding.ASCII.GetBytes("?WATCH={\"enable\":true,\"json\":true}");
client.Client.Send(byteData);
我正在开发一个需要通过 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();
}
我发现了我是如何连接到该服务的:就像 @x...
说的那样,它都在 link 中:
link
我需要发送的命令是:
var byteData = Encoding.ASCII.GetBytes("?WATCH={\"enable\":true,\"json\":true}");
client.Client.Send(byteData);