У меня есть программа на C#, которая делает tcp-соединение с другой программой C#. В C# программы, чтобы отправить сообщение, я сделал это:BinaryWriter to MemoryStream в Java
private TcpClient client;
private void SendPulse()
{
byte[] send_Buffer;
port = 11000;
while (true)
{
lock (locked)
{
try
{
BlockID = 1003;
using (MemoryStream ms = new MemoryStream())
{
using (BinaryWriter w = new BinaryWriter(ms))
{
NetworkStream stream = client.GetStream();
BlockID = 1003;
LengthMessage = 84;
// Header :
w.Write(BeginMessage);
w.Write(BlockID);
w.Write(LengthMessage);
w.Write(RadarID);
w.Write(Time);
w.Write(ModeSystem);
w.Write(Icd_primary_var);
w.Write(Icd_secondary_ver);
// Data :
w.Write(StatusSystem);
send_Buffer = ms.ToArray();
stream.Write(send_Buffer, 0, send_Buffer.Length);
Thread.Sleep(3000); // Send pulse every 3 seconds.
}
}
}
catch
{
}
}
}
}
Идея заключается в том, чтобы писать в BinaryWriter и чем конвертировать память, которую мы написали на массив байтов и отправить его.
У меня есть Java-программирование. Я тоже хочу это сделать, у меня есть связь с C#, но я не знаю, как его отправить. Я DataOutputStream, но он отправляет каждый параметр в одиночку, я хочу, чтобы все в 1 массиве байтов, как и в коде C#.
Спасибо за помощь.
Как я уже говорил в других сообщениях другим людям, вместо того, чтобы общаться через старые/проприетарные форматы сообщений, почему бы не использовать JSON или XML для этих сообщений? – ControlAltDel