Задать вопрос
Radzhab
@Radzhab

Отправка Biginteger чисел через UDP?

Есть класс, который я сериализую в xml и передаю через UDP. На стороне приемника числа почему то пустые, т.е просто нули. Хотя текст сообщения сохраняется) Мне кажется какие то проблемы возникают при передаче больших чисел через UDP.

PS. Пишу программу для проверки цифровой подписи по Эль-Гамалю. Хочу отправить открытый ключ и подпись по UDP.

[Serializable]
public class PublicKeyAndSignature // Открытый ключ и подпись
{
    public string M { get; set; } // Message
    public BigInteger r { get; set; } // 
    public BigInteger s { get; set; } //
    public BigInteger p { get; set; }
    public BigInteger g { get; set; }
    public BigInteger y { get; set; }
}


XmlSerializer xml_ser = new XmlSerializer(typeof(PublicKeyAndSignature));
            MemoryStream str = new MemoryStream();

            var key = Gamal.Encode("Привет");

            xml_ser.Serialize(str, key);
            buffer = str.ToArray();
            str.Close();

            try
            {
                s.BeginSend(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback(DoSend), s);
            }
  • Вопрос задан
  • 170 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 2
Neuroware
@Neuroware
Программист в свободное от работы время
imihajlov + ко всему что советовали использовать бинарную сериализацию, на ней уже проверки реализованы
Ответ написан
Комментировать
@imihajlov
  1. Проверить, работает ли ваша сериализация и десериализация без UDP.
  2. Добавить какую-нибудь контрольную сумму, чтобы не пытаться десериализовать битые данные (UDP ненадежный протокол).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы