发送&通过服务器接收.Net应用程序中使用的方法

时间:2014-12-18 20:56:26

标签: c# sockets

在浪费了一个多月的时间查看和阅读.Net保护之后,我确信没有办法100%保护.Net免受反编译,即使它不会持续很长时间。

然而,我是关于将我的应用程序远程重建到使用c#构建的服务器。

我的问题是:
1 - 是否可以将方法发送到我的应用程序以在那里使用? (那不应该是一个完整的方法转移) 2 - 套接字多线程的最佳实践,用于处理服务器上每个客户端的数据。

2 个答案:

答案 0 :(得分:2)

一般来说,如果您希望保持已编译的C#代码不被反编译,请不要让编译后的字节码可供任何人使用。您似乎意识到这将需要客户端 - 服务器系统,这是正确的。您还需要一个瘦客户端,"这意味着客户端不应该包含任何应用程序的业务逻辑,而是依赖服务器来处理除用户输入和数据表示之外的所有内容。您可以使用自定义C#客户端或使用HTML和JavaScript编写的内容在Web浏览器中运行。 (如果您使用Web应用程序,请确保您不在JavaScript中包含任何业务逻辑,因为它将以纯文本形式发送到浏览器。)

至于从服务器向客户端发送可执行字节码的想法,这似乎不如Web应用程序安全。即使你加密客户端和服务器之间的通信,客户端仍然会得到可在客户端反编译的可执行字节码。

答案 1 :(得分:0)

在开始实施通信协议之前,请先查看WCF。如果您的客户端和服务器都是基于.NET的,那么WCF是最简单的方法。