gpt4 book ai didi

c# - 接收字节大小为 "dynamic"的套接字

转载 作者:行者123 更新时间:2023-11-30 22:17:10 24 4
gpt4 key购买 nike

我有一个 ObservableCollection<MyClass>然后我序列化它的内容并使用套接字发送它。按照代码:

private const int Port = 3762;
private static SocketPermission permission = new SocketPermission(NetworkAccess.Accept, TransportType.Tcp, "", Port);
private static IPHostEntry ipEntry = Dns.GetHostEntry(string.Empty);
private static IPAddress ipAddress = ipEntry.AddressList[0];
private static IPEndPoint ipPoint = new IPEndPoint(ipAddress, Port);

Socket sTransmissao = new Socket(ipAddress.AddressFamily, SocketType.Stream, ProtocolType.Tcp);

using (var stream = new MemoryStream())
{
var binary = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
binary.Serialize(stream, TransmissaoPendencias);
byte[] bArray = new byte[stream.Length];
stream.Seek(0, SeekOrigin.Begin);
stream.Read(bArray, 0, (int)stream.Length);

sTransmissao.Connect(ipAddress, Port);
sTransmissao.Send(bArray);
}

但字节长度会随着我收藏的元素数量而变化。

在客户端检索此信息的可行解决方案是什么?

提前致谢。

最佳答案

发送数组前需要先传大小,让另一端知道要读多少。

关于c# - 接收字节大小为 "dynamic"的套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16897972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com