使用 C# 通过互联网进行最简单的双向通信

发布于 2024-08-02 10:26:33 字数 273 浏览 7 评论 0原文

我可以使用什么来通过互联网进行双向通信,而无需在客户端打开端口?

尽管在服务器端一切皆有可能,但用户不会同意在客户端打开端口并进行端口转发。

但是,我需要完成双向通信。

我该如何实现这一目标?

无论是 WCF、远程处理还是 Web 服务,这并不重要...... 我只需要一种快速的方法来解决概念并分发应用程序。

当然,这将通过互联网进行。

请帮忙.. 谢谢

编辑:请注意,我需要连接多个客户端并为每个客户端维护一个会话。

What do I use for two way communication over the internet without the necessity to open ports on the client side?

Users won't agree to open ports and do port forwarding on the client side although everything is possible on the server side.

But,I need to accomplish two way communication..

How do I go about achieving this?

It doesn't matter whether its WCF or remoting or webservices...
I just need a quick and fast way to just get the concept to work out and distribute the application.

ofcourse,it's going to be through the internet.

Please help..
Thanks

Edit : Please note that i need to connect multiple clients and maintain a session for each client.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

倒数 2024-08-09 10:26:33

WCF 支持双工 HTTP 绑定。

只要发起客户端可以访问服务,就可以定义回调合约来调用客户端。一旦客户端发起 HTTP 连接,它就会保持该连接。

WCF supports duplex HTTP bindings.

As long as the initiating client can access the service, a callback contract can be defined to call the client. It simply keeps the HTTP connection once the client has initiated it.

三岁铭 2024-08-09 10:26:33

这取决于你想做什么。双工 WCF 可以工作,但通过 NAT 和代理,它变得有些“不确定”,因为它取决于客户端打开 WCF 端点并维护连接。

我写了WCF 回调初学者指南 不久前 - 这很简单,但是您需要从各种客户端设置中对其进行大量测试。

It depends what you want to do. Duplex WCF can work, but through NAT and Proxies it becomes somewhat "iffy" because it depends on the client opening a WCF endpoint and maintaining the connection.

I wrote a beginners guide to WCF callbacks a while ago - it's simple enough to do, but you'll need to test it a lot, from various client setups.

埋情葬爱 2024-08-09 10:26:33

通过 TCP(原始套接字或更高的实现)连接到您的中央服务器。
您的服务器应该有一个应用程序来侦听特定的众所周知的 TCP 端口。
每个客户端都使用特定端口连接到您的服务器,然后“登录”。
在 TCP 之上编写一个应用程序协议(身份验证、会话管理等),就可以了,因为 TCP 连接一旦建立,就可以双向工作

Connect via TCP (raw sockets, or higher implementation) to a your central server.
Your server should have an application that listens to a specific, well known, TCP port.
Each client connects to your server, using the specific port, and "logs in".
Write an application protocol above the TCP (authentication, session management, etc.), and there you have it, since a TCP connection, once established, works for both directions.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文