在c#.net中通过套接字序列化和反序列化多个对象
我正在为我正在写的项目学习C#.net上的socket编程 该项目将是一个多客户端系统,其中客户端服务监控系统资源并向中央服务器报告 我正在研究远程处理、WCF等,以确定哪种方式最适合我。我决定使用套接字编程,因为有很多要求:在c#.net中通过套接字序列化和反序列化多个对象,c#,sockets,serialization,deserialization,C#,Sockets,Serialization,Deserialization,我正在为我正在写的项目学习C#.net上的socket编程 该项目将是一个多客户端系统,其中客户端服务监控系统资源并向中央服务器报告 我正在研究远程处理、WCF等,以确定哪种方式最适合我。我决定使用套接字编程,因为有很多要求: 插槽比其他插槽速度快,开销小 我可以支持服务器上每个资源的更多连接 Sockets可以,尽管做了一些修改,但也允许我与基于UNIX的系统进行交互 我可以自己在代码中对链接进行加密,而不必依赖SSL证书 我在这里的想法可能是错的?如果我是,请告诉我。有人建议WCF,因为
- 插槽比其他插槽速度快,开销小
- 我可以支持服务器上每个资源的更多连接
- Sockets可以,尽管做了一些修改,但也允许我与基于UNIX的系统进行交互
- 我可以自己在代码中对链接进行加密,而不必依赖SSL证书
有人能帮我吗?或者给我举个例子。一旦我有了工作的基础,我就完全能够把事情弄清楚。你可能想在这里重新发明轮子。但是,既然您已经下定决心要使用套接字(在那里,做过,学到了很多),请阅读有关序列化的链接:
- 体积小-高效数据存储(远小于xml)
- 便宜可在客户端和服务器上处理
- 平台独立-在不同编程架构之间可移植
- 可扩展-向旧邮件添加新数据
当你说“在这里重新发明轮子”你到底是什么意思?如果有更好、更快、更标准的方法,我会洗耳恭听。但是我可能会从你所说的从底层开始学到很多。好吧,在看了这些之后,我假设你是在指导我使用JSON或XML来发送我的对象。这是正确的吗?现在应该这样做吗?请记住,我所举的大多数例子都是2008/2009年前后通过网络发送的信息应该很小。与reference类似的程序是HoundDog(现在归GFI所有,称为GFI MAX)。客户端本质上是非常轻量级的,您将它们设置为每分钟/秒监控一次。它们根据需要发送警报,还发送ping,让HQ服务器知道它仍然处于活动状态。因此,数据确实非常少。问题更多的是关于将有多少客户端的问题:每个服务器可能有数千个客户端。你认为使用WCF是更好的选择吗?我只是担心以后我会把一切都拖出来。至于时间框架,这是我自己的项目(还有其他项目),我失业时正在做。所以通常我有我需要的所有空闲时间。我确实想学习socket编程,但我也想在一两个月内看到一个工作模型。老实说,我不介意使用更新的方法(或封装),如果它们能长期工作的话。。。然后我转向ASP.NET Web表单,并且已经在那里工作了很多年,所以这是我第一次回到Windows表单编程领域。我知道两者之间的区别,并且对人际网络也很了解。简单地说,我将继续其他人在文章和帮助博客等中所说的话。许多人说WCF“很重”,但正如你所说的“使用套接字引入的复杂性开销”也可能让我感到不快。。。Sheesh,这从来都不简单,是吗:)使用能让您启动并以最快速度运行的技术,简单的WCF+HTTP可能是一个不错的选择。在确定瓶颈之前,不要进行优化。如果序列化是瓶颈,请尝试使用“精简”格式,如proto缓冲区。