我正在WM6的NTRIP客户端上写信。基本上我通过首先发送一个配置从服务器使用套接字获取数据。但是我无法通过同一设备上的GPRS连接进行工作。使用GPRS的WM6套接字
我发送此消息。
Get/HTTP/1.0
User-Agent: NTRIP client
Accept: */*
Connection: close
对此服务器。
Hostname: mamba.gps.caltech.edu
Port: 2101
我让做这个
string message = "GET/HTTP/1.0\r\nUser-Agent: NTRIP client\r\nAccept: */*\r\nConnection: close\r\n\r\n"
IPAddress ipAddress = Dns.GetHostEntry(hostname).AddressList[0];
_NTRIPCaster = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
_NTRIPCaster.Connect(new IPEndPoint(ipAddress, Convert.ToInt32(port)));
_NTRIPCaster.Send(Encoding.ASCII.GetBytes(message));
for (int i = 0; i < 50; i++) //Wait for upto 5 seconds for a response
{
Thread.Sleep(100);
if (_NTRIPCaster.Available > 0)
{
Byte[] inBytes = new byte[_NTRIPCaster.Available];
_NTRIPCaster.Receive(inBytes);
sourceTable += Encoding.ASCII.GetString(inBytes, 0, inBytes.Length);
//Check if all of the Source table has been recieved
if (sourceTable.Contains("ENDSOURCETABLE"))
{
sourceTableRecieved = true;
break;
}
}
}
这一切工作正常连接,如果我有一个Wi-Fi连接,或设备停靠到一台PC和活动同步共享电脑上网连接。
如果我在PC上切断了网络,并禁用了Wi-Fi,那么它无法将主机名解析为IP地址。甚至没有进入套接字连接。基本上它没有在设备中使用调制解调器并使用GPRS连接。无论GPRS是否连接,都会发生这种情况。
因为我在WM6,我已经看过了连接管理器API - http://msdn.microsoft.com/en-us/library/aa458120。
但以下几个其他职位我已经能够找到计算器和其他论坛我一直无法得到它的工作后。有谁知道我如何建立GPRS连接并开始将数据发送到服务器。
我也听说HttpRequest为你管理这个,这很好。我从来没有尝试过使用HttpRequest来访问它,因为我可以在NTRIP上找到每个使用套接字连接的示例。 NTRIP有自己的协议。我必须保持与服务器的连续连接,直到我或服务器选择放弃连接为止。我会诚实地说,这是我第一次使用套接字。 – JonWillis
我不是NTRIP协议家族,但你的代码样本看起来像HTTP。如果NTRIP通过HTTP捎带,那么你仍然可以使用HttpReqest对象。只是一个想法... – tcarvin
无论如何,网上有一堆样品。下面是一个看起来很简单的例子:[链接](http://blogs.msdn.com/b/anthonywong/archive/2006/03/13/550686.aspx) – tcarvin