c# - 我想使用 Remoting 还是只使用 Socket 连接

标签 c# .net sockets remoting

我正在为一个项目编写代码,该项目最初是用 VB6 编写的,而我的合作伙伴正在尝试将其慢慢迁移到 .NET。与此同时,我需要一些关于我应该如何做以下事情的反馈:

我的用户可以运行同一个程序的多个实例,以帮助拆分发送到服务器的多个特定消息;如果您一次发送多条消息,该服务器将 IP 禁止您。我想做的是共享程序之间发送的这些消息,以便我们可以构建一个分布式消息系统来防止 IP Ban——这些程序目前在同一台机器上运行。我正试图弄湿我的脚,所以我做了好几天(不是开玩笑...)的研究,我得出的结论是我可以用 C# .NET 编写 DLL ,合并所需的 Interop 以支持 COM,并让该 DLL 存储常用的函数、数组等。该函数还将在 VB6 程序上引发事件以发送其消息,然后客户端程序将这些消息发送到其连接的服务器。

我的搭档说我的做法是错误的,我应该创建一个服务器应用程序,它在我的程序启动时加载,并通过 Socket 在我的客户端之间分发消息。这个过程看起来工作量很大。

我发现它更加困难,因为我在 MSDN 上找到的示例无法编译。如果您知道一个很好的例子,我将非常感谢您发布它。

最佳答案

不要将 Remoting 用于新开发。它已被弃用,取而代之的是 WCF。

改为使用 WCF。您可以在任何应用程序中托管 WCF 服务,并且它可以使用基于 TCP/IP 的二进制文件快速高效地进行通信。

关于c# - 我想使用 Remoting 还是只使用 Socket 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5159610/

相关文章:

c# - 如何在不丢失数据的情况下重命名数据表列名?

c# - 在 Web 应用程序中设置 WCF TCP 服务

c# - C# 中的多线程错误

c# - 在UWP 应用程序中,我可以在建立连接后获取SSL 证书错误列表吗?

c# - Entity Framework 6 中多个上下文的单个事务

c# - 返回自定义错误

c# - 具有 "params"关键字的方法的多个重载

.net - ColdFusion 9 调用 .NET Web 服务 - 找不到带参数的 Web 服务操作。帮助!

sockets - 如何从给定套接字读取协议(protocol)信息?

c++ - Thrift - 每个套接字都有不同的 Handler 实例