【发布时间】:2016-02-16 21:30:12
【问题描述】:
我正在尝试设置一个可以与服务器异步通信的 Windows 服务,其想法是传输一些字符串。格式,嗯,真的没那么重要。
所以,在本地网络中,我很酷,我什至编写了一个简单的移动应用程序来测试它的请求,并且它可以正常工作。
问题是我现在必须让它从网络外部工作,并且要实现它,我必须从路由器配置中转发端口,这对于在用户计算机上部署确实不是一个理想的方案。
我已经读过这是你通常使用套接字的东西,但据我所知,至少对于 .NET,服务器必须具有相同的框架(如果不是这样,请纠正我),并且在我的情况下,服务器不是 .NET。
老实说,我对客户端-服务器交互知之甚少,而且在阅读 Microsoft 官方文档时,我在概念上存在巨大的障碍,所以从头开始吧。我从文档中瞥见了 WinSock 和 RPC,但 C# 实现感觉就像胶带,真的是最后的手段。
也就是说,我想我需要提出六个问题:
- 纯 HTTP 是个坏主意。对吧?
- 鉴于这种情况,我需要套接字吗?如果是的话,
- 如何在服务器上实现它?另外,
- 比使用 RPC 更好吗?
- RPC 究竟是如何工作的?在官方文档之前我需要阅读什么?
- 套接字实际上是如何让客户端从本地网络外部接收异步调用的? (需要,我看是可以的)
如果我在这里混淆概念,请原谅我,感谢阅读。
版主注意事项:如果这是一个重复的问题,或偏离主题,或因任何其他原因无效,请首先帮助我,为我指明正确的方向。我试图在发布之前对其进行很好的搜索,但由于我对大多数概念不太熟悉,因此我可能会错过这个。谢谢!
【问题讨论】:
-
问题不清楚,有很多误解,而且太宽泛,无法在答案中解释。继续阅读文档...
-
你说的是真的。但是,嘿,这就是我问的原因。 :)
-
什么不清楚?
too broad to explain in an answer。 (阅读 SO 规则)所以我投票决定关闭....Jeroen van Langen 以下是您可以获得的最佳答案,如果足够,请接受答案,如果没有,那么您就在错误的网站..... -
澄清一下:我的回复中没有问号。
标签: c# sockets http client rpc