Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 21.10.2017
Сообщений: 59

TcpClient Приходит не корректный ответ от сервера

17.01.2021, 01:52. Показов 1714. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Возникла проблема при получении ответа от сервера, перед ответом появляются непонятные символы.
Кусок ответа:
Code
1
?s??s{"description":{"extra":[{"bold":false,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false...
В консоли Visual Studio эти символы отображаются так - "?s??s" если же записать ответ и открыть через любой редактор, то там символы отображаются по другому.
Код отправки/получения:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
        public  static string Connect(String server, int port, String message = @"10 00 f2 05 09 31 32 37 2e 30 2e 30 2e 31 cd 7d 01 01 00")
        {
            string res = String.Empty;
            try
            {
                // Create a TcpClient.
                // Note, for this client to work you need to have a TcpServer 
                // connected to the same address as specified by the server, port
                // combination.
                TcpClient client = new TcpClient(server, port);
                client.ReceiveTimeout = 3000;
 
                // Translate the passed message into ASCII and store it as a Byte array.
                byte[] data = message.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Select(i => byte.Parse(i, System.Globalization.NumberStyles.HexNumber)).ToArray();
                // Get a client stream for reading and writing.
                //  Stream stream = client.GetStream();
 
                NetworkStream stream = client.GetStream();
 
                // Send the message to the connected TcpServer. 
                stream.Write(data, 0, data.Length);
 
                Console.WriteLine("Sent: {0}", message);
 
                // Receive the TcpServer.response.
 
                // Buffer to store the response bytes.
                data = new Byte[65536];
 
                // String to store the response ASCII representation.
                String responseData = String.Empty;
 
                // Read the first batch of the TcpServer response bytes.
                Int32 bytes = stream.Read(data, 0, data.Length);
                responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);
                res = responseData;
                File.WriteAllText("RES.txt", res);
                Console.WriteLine("Received: {0}", res);
 
                // Close everything.
                stream.Close();
                client.Close();
            }
            catch (ArgumentNullException e)
            {
                Console.WriteLine("ArgumentNullException: {0}", e);
            }
            catch (SocketException e)
            {
                Console.WriteLine("SocketException: {0}", e);
            }
            return res;
        }
Каким образом убрать эти символы из ответа?
Заранее спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.01.2021, 01:52
Ответы с готовыми решениями:

Как получить ответ от сервера (tcpclient)?
сервер слушает порт radist04ka@ sockstat | grep Temp radist Temp0 2909 3 tcp4 *:9666 *:* и отвечает...

Не приходит ответ от сервера
Всем привет! Довелось мне написать клиентскую часть для работы с сервером и так уж вышло, что мне не приходит ответ на элементарный...

XMLHttpRequest: не приходит ответ от сервера
Всем привет! В теле страницы имею это: <input type="text" id="name" name="login" onblur="checklogin()"...

1
Злой няш
 Аватар для I2um1
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
17.01.2021, 02:42
vitya790, как часто отправляются сообщения? Во входной строке только ASCII символы? Как строка конвертируется в строку с hex и обратно? Есть же метод, который сразу строку преобразовывает в массив байтов.

Если будет исключение, то соединение не закроется:
C#
1
2
stream.Close();
client.Close();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.01.2021, 02:42
Помогаю со студенческими работами здесь

Не приходит ответ с сервера при POST-запросе
Здравствуйте. Пытаюсь через Java отправить POST-запрос на сервер (обычную символьную строку типа "token: ygKhigLI3fGR4hL"). ...

POST запрос: иногда приходит пустой ответ от сервера
Отсылаю POST запрос(HttpWebRequest) , использую прокси(запрос на pw.mail.ru) и очень часто ответ пустой. С чем связано - не пойму. ...

HttpWebRequest: ответ с сервера приходит в виде длинной рандомной строки
Пишу клиент для браузерной онлайн игры. При отправке / принятии запросов столкнулся с проблемой. Суть очень проста: я формирую обычей...

Если данные с сервера превышают 65536 символа, то ajax ответ не приходит
проблема в том, что если данные с сервера превышают 65536 символа, то ajax ответ не приходит, хотя при отладке видно что вэбслужба отдает...

Не приходит ответ на TCP клиент андроид с TCP сервера Qt
У меня есть TCP клиент андроид и TCP сервер Qt с клиента на сервер сообщения доходят нормально. Ну а с сервера на клиент сообщения(ответы)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru