Я следующая структуреКак сериализовать сложную структуру для отправки через tcp/ip?
[Serializable()]
public struct Transfer_packet
{
public int _packet_type; // 0 is action 1 is data
public int _packet_len; // length of data
public byte[] _data;//Content of data it's Length depends on objects types
public byte[] serialize()
{
byte[] arr;
BinaryFormatter bf = new BinaryFormatter();
MemoryStream ms = new MemoryStream();
bf.Serialize(ms, this);
arr = ms.ToArray();
return arr;
}
}
некоторые, где в моем коде я это сделать
Transfer_packet sndpkt;
string cmd = "Some Commands in text or binary bytes";
byte[] data = ASCIIEncoding.ASCII.GetBytes(cmd);
sndpkt._packet_type = 0; // Action Packet
sndpkt._packet_len = data.Length; // Length of command
sndpkt._data = data;
byte[] SendData = sndpkt.serialize();
LanAdapter.Send(SendData, System.Net.Sockets.SocketFlags.None); // LanAdapter ->TcpSocket
serialize
функции внутри структуры не работает нормально я хочу последовательность byte
массива структуры для передачи его по сети и получать его в том же формате памяти в другом приложении, написанном на C++.
я есть попробовать сортировочной как хорошо, но она не обеспечивает мне правильную карту памяти для отправки над сетью и обработать ее в приложении C++. Спасибо за ваш ответ. Я проверю, что ищу конкретный метод;) – saeed
http://stackoverflow.com/questions/5209297/about-c-sharp-struct-memory-serialization-overhead и http://stackoverflow.com/questions/628843/byte-for-byte-serializa могут быть полезными, а http://stackoverflow.com/questions/9944994/fast-serialization-deserialization-of-structs могут быть полезными. –
, прежде чем я задаю этот вопрос, я разобрал его и нашел некоторые методы, но ни один из них не конвертирует мою структуру, так как я хочу изменить серийный код на этот – saeed