【问题标题】:send array with socket C# winforms使用套接字 C# winforms 发送数组
【发布时间】:2015-10-03 18:09:55
【问题描述】:

如何使用 java 'outputstream' 之类的套接字发送数组? 你能看到任何演示或示例序列化吗? 我可以用套接字向我的客户发送一个简单的文本。但是我怎样才能将数组、列表或类发送给我的客户。我想发送这种格式 列表数组;

【问题讨论】:

标签: c# sockets serialization send


【解决方案1】:

Java 的outputstream 也不能做你想做的事,它所能做的就是发送byte[],这正是C# 的套接字类所做的。

如果你想发送复杂的对象,你必须使用某种形式的“Serializer”,它可以让你将你的对象转换为byte[] 发送出去。

.NET 中内置的易于使用的序列化程序是 XmlSeralizer,这将生成一个字符串,然后您可以将其输入到 StreamWriter 中,这会将字符串转换为 byte[] 并写出到插座上。另一端只需使用StreamReader 的反向过程。

如果您不想使用中间文本步骤,我会推荐使用BinaryFormatter,就像您在互联网上经常看到的那样,它非常“脆弱”并且在两端安装不同级别的 .NET Windows 更新最终可能会破坏它。相反,我建议使用第 3 方二进制序列化程序,例如 Protobuf-net

【讨论】:

猜你喜欢
  • 2011-03-30
  • 1970-01-01
  • 1970-01-01
  • 2012-07-17
  • 1970-01-01
  • 2010-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多