Packet Senden

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Packet Senden

      Hallo liebe Community.

      Beim Googeln bin uch auf dieses hier gestoßen:
      [VB 2008] Packete zum Server senden geht nicht :o - Internet- und Netzwerkprogrammierung - Visual-Basic-Forum VB-Paradise.de

      Genau das, was unser Dardan vorhatte, möchte ich auch machen.
      Leider weiß auch ich nicht, wie ich bei diesen Code:

      Imports System.Net
      Imports System.Net.Sockets
      Public Class Form1

      Dim buffer(1024) As Byte
      Dim socketFlags As SocketFlags
      Dim Socket As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)

      Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

      Socket.Connect("127.0.0.1", 23000)

      End Sub

      Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

      Socket.Send(buffer, 1, Sockets.SocketFlags.None, Sockets.SocketFlags.None)

      End Sub
      End Class
      Zum Beispiel dieses Packet


      5E 73 10 00 00 00 FF 00 00 00 00 00 00 10 00 01
      senden kann.

      Kann mir vllt. einer von euch helfen?

      Mit freundlichem Gruß
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • Du hast da Hexa dec, und mit der funktion sendest du einen Byte Array

      Also als erstes übersetzt du das in den Byte array:

      Quellcode

      1. Dim Buffer(1024) As Byte
      2. Dim Input As String() = "5E 73 10 00 00 00 FF 00 00 00 00 00 00 10 00 01".Split(" ")
      3. For i As Integer = 0 To Input.Count - 1
      4. Buffer(i) = Convert.ToByte("&H" + Input(i))
      5. Next


      und dann wie gehabt senden
    • Wow ist das peinlich meine alten Foren Beiträge zu lesen. :P
      Ich weiß garnicht mehr ob ich's damals hinbekommen habe.
      Obwohl das da in meinem alten Beitrag garnicht mal so falsch aussieht, hätte ich früher nur gewusst, dass ich den buffer mit Bytes füllen muss. xD

      Du kannst auch manuell jeden einzelnen Byte füllen.

      Quellcode

      1. Dim clientSock As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
      2. clientSock.Connect(New Net.IPEndPoint(Net.IPAddress.Parse("127.0.0.1"), 23000))
      3. Dim buffer(1024) As Byte
      4. Dim bufferindex As Integer = 0
      5. Dim header As Char = "^" ' 5E | Char 1 Byte
      6. Dim shit1 As Char = "s" ' 73 | Char 1 Byte
      7. Dim shit2 As Integer = 16 ' 16 = 10 00 00 00 = 00 00 00 10 | Int32 4 Bytes
      8. Dim shit3 As Integer = 255 ' 255 = FF 00 00 00 = 00 00 00 FF | Int32 4 Bytes
      9. Dim shit4 As Integer = 268435456 ' 268435456 = 00 00 00 10 = 10 00 00 00 | Int32 4 Bytes
      10. Dim shit5 As Short = 256 ' 256 = 00 01 = 01 00 | Int16 2 Bytes
      11. If (clientSock.Connected) Then
      12. buffer(bufferindex) = BitConverter.GetBytes(header)(0)
      13. bufferindex += 1 ' Char 1 Byte
      14. clientSock.Send(buffer, 0, 1, SocketFlags.None)
      15. End If
      Alles anzeigen


      Nicht getestet aber sollte funktionieren, was für'n Scheiß Syntax vb.net doch hat... Wie konnte mir das früher nur soviel Spaß machen...
      lg Ich;