我已经创建了一个C#项目,这个项目由一个在LocalSystem帐户下运行的后端服务和一个在当前登录用户帐户下运行的GUI组成。通过网络浏览器与局域网中的c#服务进行通信
这两部分通过命名管道沟通,为实现:
服务:
PipeHost = new ServiceHost(this, new Uri[] { new Uri("net.pipe://localhost") });
PipeHost.AddServiceEndpoint(typeof(IPipeComm), new NetNamedPipeBinding(), "MyProgComm");
PipeHost.Open();
GUI:
ChannelFactory<IPipeComm> PipeFactory = new ChannelFactory<IPipeComm>(new NetNamedPipeBinding(), new EndpointAddress("net.pipe://localhost/MyProgComm"));
IPipeComm PipeProxy = PipeFactory.CreateChannel();
所有工作甜的,但现在我停留在一个新的他们要求我添加功能。 我必须找到一种方式与移动设备上的服务进行通信(至少是单向服务),比如Android,连接到同一个局域网。
起初我想过构建一个简单的Android本机应用程序,该应用程序将与添加服务的TCP服务器进行通信。
这需要我进行一些认真的研究,因为我从来没有做过这样的事情。
所以,让我问: 这是最简单的方法来完成这个?
我可以利用现有的命名管道来达到此目的,从而节省时间和编码吗?
这可以通过添加一个最小的Web服务器来完成,以避免创建移动设备应用程序并使用其浏览器? (我真的preffer这一点!)
我很困惑,所以一对夫妇的指引将非常感激......
感谢您的澄清。我决定实施一个准系统HTTP服务器,并尝试通过Web表单发送数据到服务。我不知道我是否会成功,但至少我不需要在移动端做任何编码... – monica