使用套接字 C# WinForms 发送数组

本文关键字:数组 WinForms 套接字 | 更新日期: 2023-09-27 18:02:54

如何发送带有套接字的数组,如java 'outputstream'?你能看到任何演示或示例序列化吗?我可以向我的客户发送带有套接字的简单文本。但是我如何将数组、列表或类发送到我的客户端。我想发送此格式列表数组;

使用套接字 C# WinForms 发送数组

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

如果要发送复杂对象,

则必须使用某种形式的"序列化程序",它将允许您将对象转换为要发送的byte[]

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

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