Problem z wysyłaniem danych przez siec

0

Witam,
Czy mógłby mi ktoś pomoc, zakodowac pakiet i wysłac go w nie naruszoney stanie przez sieć.

Chodzi o to ze potrzebuje wyslac string 'pl' tak aby dane które wyszły były odczytane przez snifer i miały wartosci 70 6C jako kolejne bajty.

Próbuje to przekodwac do tablicy bajtów ale cos to kodowanie nie idzie

string str = "pl";
this.language = new byte[str.Length];
              
            for (i = 0; i < str.Length; i++)
                this.language[i] =Convert.ToByte(str[i]);

A nastepnie na aktualnie połaczonym gnieździe tworze Binary Reader

public void send(byte[] packet)
        {
          
            BinaryWriter bwr = new BinaryWriter(this.tcpClient.GetStream(), Encoding.UTF32);
            bwr.Write(packet);
            Console.WriteLine("wyslalem pakiet");

        }

I wysyłam dane, ale to co wychodzi jest zupełnie inne niz to co jest w tablicy.
Mozecie mi coś doradzic.

Dodam Ze próbowałem juz

BinaryWriter bwr = new BinaryWriter(this.tcpClient.GetStream(), Encoding.ASCII);
BinaryWriter bwr = new BinaryWriter(this.tcpClient.GetStream(), Encoding.BigEndianUnicode);

i karzdy sypie niewadomo jakie głupoty!

Pozdrawiam</cpp>

0
string st = "pl";
byte[] bytes = System.Text.Encoding.ASCII.GetBytes(st);

Musisz pamietac, ze wszystkie stringi w .net'cie sa w unicodzie (2 bajty na znak). Musisz je albo skonwertowac na ASCII jak wyzej... badz jesli uzywasz szerszego zakresu znaku to wowczas na UTF8.

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