TCP nasłuchiwanie i konwersja na utf8 zwraca \0

0

Witam.
Mam problem z clientem TCP. Otóż podczas zwrotu informacji przez serwer gdy zrobiłem sobie zrzut tablicy byte[] do pliku otrzymałem:

[1014]=112
[1015]=52
[1016]=99
[1017]=86
[1018]=72
[1019]=101
[1020]=92
[1021]=110
[1022]=77
[1023]=87
[1024]=0
[1025]=0
[1026]=0
[1027]=0
[1028]=0
[1029]=0
[1030]=0

I ja teraz to muszę skonwertować na string aby otrzymać json'a. I w tym problem że ten string jest w pewnym momencie ucinany i zwracany jest "\0".

Proszę o propozycję dlaczego zwracane są zera. Dodam iż łącze się przez proxy bibliotekę zaimplementowałem stąd: https://www.victorangelier.com/c-socks5-proxy-client-socket/

Dziękuję za pomoc

0

Wygląda to tak, jakbyś chciał wrzucić do stringa niewypełnioną do końca tablicę. Odpowiedź json nie zawiera bajtów o wartości 0. Ponadto string średnio nadaje się do trzymania w nim danych binarnych, w szczególności bajtów 0.
Ściągnij odpowiedź serwera do końca (do tablicy bajtów, do MemoryStream, gdziekolwiek byle nie string/StringBuilder) i dopiero potem skonwertuj ją do stringa, Twój problem zniknie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1