Я передаю данные, используя соединение UDP с программой на моем сервере. Данные передаются модемом от Quectel BC66. AT-команда от терминала показана ниже:
AT+QISEND=0,20,12345678910111213112
OK
SEND OK
Когда данные появляются на сервере вместо того, чтобы показывать отправленные данные, они показывают вопросительные знаки:
![enter image description here](https://i.stack.imgur.com/NeyId.png)
Код программы показан ниже:
class Program
{
static void Main(string[] args)
{
try
{
IPEndPoint ip = new IPEndPoint(IPAddress.Any, 29030);
UdpClient server = new UdpClient(ip);
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("[UDP] [Listenning]");
while (true)
{
byte[] data = server.Receive(ref ip);
string ch = Encoding.Unicode.GetString(data, 0, data.Length);
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine(ch + " " + DateTime.Now.ToString());
string serv_msg = "Server received the data";
byte[] msg = Encoding.Unicode.GetBytes(serv_msg);
server.Send(msg, msg.Length, ip);
server.Send(new byte[] { 1 }, 1, ip);
}
}
catch
{
Console.WriteLine("Warrning:connection failed");
Console.ReadKey();
}
}
}
}
Есть ли у вас какие-либо предложения о том, как отображать отправленные данные, идентичные на серверной программе?