C#如何在两台服务器之间进行通信

Posted

技术标签:

【中文标题】C#如何在两台服务器之间进行通信【英文标题】:C# How to communicate between 2 servers 【发布时间】:2011-02-20 07:58:54 【问题描述】:

我有一个在 server A 上运行 ASP.NET (C#) 的网站。我需要我的网站来访问server B 上的网络服务。 server B 只会在被请求者位于特定 IP 范围内且 server A 不在此范围内时接受传入请求。

我有一个服务器 server C,它位于 IP 范围内,唯一阻止 server A 访问 server C 的是防火墙(我可以访问)。一定可以在server Aserver C 之间的防火墙上创建一个洞,但我的问题是:

如何通过server C 将请求从server A 转发到server B

我还需要server B 的回复才能回复server A :)

提前致谢。

【问题讨论】:

【参考方案1】:

你可以看看 WCF;也许在服务器 C 上创建一个中间服务,在其他 2 之间进行调解。

【讨论】:

到目前为止,WCF 似乎是一个很好的解决方案。感谢您强迫我尝试 WCF ;)【参考方案2】:

看看 HTTP 代理,有很多开源的,但我没有任何使用它们的经验,所以不能推荐。

如果失败,请查看套接字编程 (http://www.codeproject.com/KB/IP/socketsincsharp.aspx) - 您可以在服务器 A 和服务器 C 之间编写基于套接字的接口,然后服务器 C 将发送请求并将响应编组回服务器 A。

【讨论】:

以上是关于C#如何在两台服务器之间进行通信的主要内容,如果未能解决你的问题,请参考以下文章

使用 Visual Studio 2010 在 C# 中的两台不同机器上运行的客户端和服务器之间的通信

EXCHANGE2010邮件数据在两台服务器之间如何部署?

如何使用 RequestBody 和 PostMapping 在两台服务器之间共享数据?

如何在两台服务器之间安全迁移MySQL数据库

如何使用 R 连接两台计算机?

使用带有 libmodbus 或 pymodbus 的 USB 连接在两台 PC 之间进行 Modbus 模拟