[C#] [Sockets] Packet met bytes, strings en ints?

Status
Niet open voor verdere reacties.

timboiscool

Gebruiker
Lid geworden
27 nov 2008
Berichten
205
Hallo Mensen!

Als allereerst zou ik graag willen zeggen dat ik nieuw ben met Sockets.
Voor de rest kan ik best C# programmeren.

Ik vroeg me af hoe ik een packet kon verzenden via C# die bytes, strings en Integers bevat.
Deze packet gaat naar mijn minecraft server en is een zogenaamde 'handshake' waarmee een persoon inlogt op de server.

Hier is een tabel van wat het bevat:

Packet ID Field Name Field Type Example Notes
0x02 Protocol Version byte 39
Username string TkTech The username of the player attempting to connect
Server Host string localhost
Server Port int 25565

Hoe moet ik dit doen??

Ik heb al wat geprobeert:

Code:
        static void Main(string[] args)
        {
            TcpClient client = new TcpClient();

            IPEndPoint serverEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 25565);

            client.Connect(serverEndPoint);

            NetworkStream clientStream = client.GetStream();

            ASCIIEncoding encoder = new ASCIIEncoding();

            byte[] name, server;
            name = System.Text.ASCIIEncoding.ASCII.GetBytes("randomness");
            server = System.Text.ASCIIEncoding.ASCII.GetBytes("127.0.0.1");

            clientStream.WriteByte(0x20);
            clientStream.WriteByte(39);
            clientStream.Write(name, 0, name.Length);
            clientStream.Write(server, 0, server.Length);
            clientStream.Write(gb("25565"), 0, gb("25565").Length);
            clientStream.Flush();
            clientStream.Close();
            client.Close();
        }

        public static byte[] gb(String str)
        {
            return System.Text.ASCIIEncoding.ASCII.GetBytes(str);
        }

Ik hoop dat iemand code kan geven en uitleggen wat wat doet of hoe het werkt.
Alleen code is ook goed maar ik heb liever met wat uitleg ( als het kan )

Bedankt, Tim.
 
Laatst bewerkt:
Ik ga een andere sniffer nodig hebben :P
Bij dit programma zegt hij ook dat de package niks bevat .....
maarja.
Ik zal kijken of ik het kan gebruiken.

( ik zag trouwens dat je binary gebruikte is dat ook wat ik via sniffer ontvang via originele client? )

ik zet vraag op opgelost wanneer hij het doet :p
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan