就是把差异,优势和远程处理和插座之间......其缺点是服务器 - 客户端的功能....远程VS插座
远程VS插座
回答
套接字是两个端点之间的原始二进制流最好的办法。您需要封装自己的RPC(etc)层来处理消息,并处理大量的基础架构代码。但是,由于它们非常接近金属,所以它非常非常高效。它不受限于任何特定的体系结构,只要两端使用相同的消息格式即可。像protobuf-net这样的工具可以帮助您为流构建二进制消息(而不是滚动您自己的序列化代码)。
远程处理是一个.NET特定的工具,并且非常脆弱的重新版本控制。我不会建议客户端/服务器的远程处理 - 使用像WCF这样的东西来代替。
WCF是一个更灵活的通信堆栈 - 功能和复杂性很高,但可以说有点臃肿(XML,复杂的安全性等)。它是基于数据合同的,因此大致上是 open(客户端/服务器可以不同),但仍然有点关注.NET。
编辑有关信息,protobuf-net提供了一个RPC堆栈太多;目前只提供了HTTP实现,但在某些时候我会添加原始TCP/IP。
我的第二大马克格雷维尔写道 - 特别是远程处理和内部序列化是“容易”,但很容易打破,往往不能很好地扩展到公共网络(我不熟悉.net远程处理,但我想它需要一个众所周知的注册表服务,这在清理实验室环境时经常会遇到问题)。
从长远来看,实现一个标准甚至是滚动你自己的RPC是比较困难但更安全的:你没有代码修订问题(或者它们更容易控制),缩放完全由你自己的代码控制,并且易于使用各种技术开发组件。
有许多许多工具可以帮助您轻松地在套接字上构建RPC机制,但我真的很喜欢使用普通的旧HTTP--在服务器进程中获取一个运行在内部的简单HTTP嵌入式服务器,并且客户端只需要一个HTTP客户端发送消息。如果你开发自己的简单的RESTful调用语义(而不是使用像SOAP或XML-RPC这样的一些臃肿的消息格式),那么真的几乎没有任何事情要做:-)
我会说,选择之间的套接字和远程处理更好地考虑你正在开发什么类型的应用程序。套接字绝对适用于您自己的协议实现,低层次编程以及必须与其他tcp/ip应用程序通信的唯一途径。远程处理是开发新的.NET通信应用程序的一种优先方式,在这种应用程序中,您不需要使用tcp/ip堆栈,并确保您的应用程序与其他应用程序(可能是传统应用程序)进行对话。如果你只能使用.NET,最好选择.NET 3.5和WCF框架而不是.net 2.0远程处理,最后一种是死的和不支持的技术。
- 1. 远程插座监听器
- 2. C RbPi UART远程控制插座
- 3. 插座心跳VS存活
- 4. 文件的所有者插座vs查看的插座
- 5. php插座教程
- 6. Flex插座到插座
- 7. 插座与插座集合
- 8. 难以从Java的插座获得远程IP地址/ Android的
- 9. 插座连接失败,远程登录OK
- 10. 如何远程监控家用电源插座的可用性?
- 11. 获取远程地址/ IP - C伯克利插座
- 12. XMLHttpRequest的VS插座VS一些其他方法
- 13. 概念:使用WCF服务VS.插座VS.?
- 14. 线程,插座和流
- 15. mini210插座多线程
- 16. 线程打开插座
- 17. 升压线程和插座
- 18. 插座和线程用C
- 19. 在非插座上的插座操作:在设置插座选项和装订插座时出错
- 20. Silverlight的插座
- 21. 插座和COBOL
- 22. 插座和Winapi32
- 23. 插座故障
- 24. 插座和DatagramChannels
- 25. ECONRESET插座hungup
- 26. 僵局插座
- 27. 通过插座
- 28. 插座蟒蛇
- 29. 蓝牙插座
- 30. 替代插座
对于“最佳”...取决于要求; -p – 2009-04-21 10:10:19