Передача По Сети

Тема в разделе ".NET", создана пользователем Imposter, 4 окт 2012.

  1. Imposter

    Imposter Гость

    вопрос в чем необходимо по сети передать текст на кирилице, но вместо текста получаю только "??????" в чем ошибка или как исправить
    листенер:
    Код (C++):
     byte[] data = new byte[Received.Length * 16]; //массив байт для передачи сообщения
    // c_time += (double)timer1.Interval / 1000;
    server.Start();
    // Byte[] bytes = new Byte[256];
    TcpClient client = new TcpClient();
    client = server.AcceptTcpClient();
    //получение информации от клиента
    NetworkStream stream = client.GetStream();
    int i;
    //_________________________________ПОЛУЧЕНИЕ И ОТПРАВКА ДАННЫХ______________
    //принимаем данные от клиента пока не дойдем до конца.
    data = new Byte[256]; // масив для хранения принятых данных
    String responseData = String.Empty;
    Int32 bytes = stream.Read(data, 0, data.Length); // получение данных в bytes
    responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes); // перевод в строку
    // разбиение строки на массив строк

    String[] Received_line = responseData.Split(new char[] { '_' }, StringSplitOptions.RemoveEmptyEntries);
    for (int j = 0; j < Received_line.Length; j++)
    {
    Received[j] = Convert.ToString(Received_line[j]);
    }
    клиент:

    Код (C++):
    try
    {
    //создаем TCPClient для Listener
    // настраиваем под тот же адресс и порт
    TcpClient client = new TcpClient("127.0.0.1", 9595);
    byte[] data = new byte[Sent_to.Length * 8]; //массив байт для передачи сообщения


    //получение потока для чтения и записи
    NetworkStream stream = client.GetStream();
    //отправка сообщения серверу
    for (int i = 0; i < Sent_to.Length; i++)
    SentTo_Line = SentTo_Line + Convert.ToString(Sent_to[i]) + "_";
    byte[] msg = System.Text.Encoding.ASCII.GetBytes(SentTo_Line);

    stream.Write(msg, 0, msg.Length);
    SentTo_Line = "";
    stream.Close();
    }
    Передаваемый массив:
    Код (C++):
         string[] Sent_to = {
    "Hello wold1 #",
    "Привет мир",
    "qweqwe",
    "sdfsdfsdf",
    "asdsadasd"

    };
     
  2. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    Если планируете гонять кириллицу, то вместо ASCII нужно выбрать более подходящую кодировку. Я бы Unicode посоветовал.
     
  3. Гость

    Не соглашусь. Для передачи и хранения данных оптимальная кодировка UTF8.
     
Загрузка...
Похожие Темы - Передача По Сети
  1. Shouldercannon
    Ответов:
    0
    Просмотров:
    392
  2. mibin
    Ответов:
    2
    Просмотров:
    4.002
  3. sergg
    Ответов:
    7
    Просмотров:
    4.471
  4. grizzlynet
    Ответов:
    0
    Просмотров:
    973
  5. vladis222
    Ответов:
    2
    Просмотров:
    1.373

Поделиться этой страницей