Du bist nicht angemeldet.

11

26.08.2011, 06:35

Schonmal dran gedacht, dass nach jedem aufruf das PHP-Script beendet wird? Du musst die Laufzeit des Scriptes erhöhen, sodass du mehrere Anfragen bearbeiten kannst.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Blizzard« (19.02.2013, 12:27)


12

07.09.2011, 18:00

Deshalb hab ich es mal in vb versucht...

Quellcode

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
Imports System.Net.Sockets

Module Module1

    Sub Main()
        Try
            Dim port As Int32 = 2710
            Dim client As New TcpClient("localhost", port)

            'mit 0x00 Verbindung aufbauen 0x00 = &H0 
            Dim message As Byte() = New Byte() {&H0}
            ' t-Token als Byte array.
            Dim data As [Byte]() = System.Text.Encoding.ASCII.GetBytes("t\0V9.0afi \0http://localhost/\00\01.6.0_26 - 3911\0Java HotSpot(TM) Client VM\0-kzbvc87ti7he-1482lk01tash8,null")
          
            Dim stream As NetworkStream = client.GetStream()
            client.GetStream.Flush()

            
            ' Daten an Server senden
            stream.Write(message, 0, message.Length)
            stream.Write(data, 0, data.Length)

            Console.WriteLine("Sent: {0}", System.Text.Encoding.ASCII.GetString(data))

            ' Daten empfangen
            data = New [Byte](256) {}


            Dim responseData As [String] = [String].Empty


            Dim bytes As Int32 = stream.Read(data, 0, data.Length)
            responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes)
            Console.WriteLine("Received: {0}", responseData)

        Catch e As ArgumentNullException
            Console.WriteLine("ArgumentNullException: {0}", e)
        Catch e As SocketException
            Console.WriteLine("SocketException: {0}", e)
        End Try

    End Sub

End Module


Nun bekomm ich beim Bananachat Server den fehler:

Unhandled opcode: \0V9.0afi \0http://localhost/\00\0
t(TM) Client VM\0-kzbvc87ti7he-1482lk01tash8,null

13

07.09.2011, 18:04

Ähm, \0 gibts in VB nicht.

..............t" + vbNullChar + "V9.0afi.............
Kein Support per PN. Nur im Forum!

14

07.09.2011, 19:33

Die Länge des Pakets muss vorangestellt werden.

MfG

16

07.09.2011, 20:22

Wäre nett für zukünftige Fragen deinen Code zu posten, könnte man eventuell dann noch in andere Sprachen portieren.
Kein Support per PN. Nur im Forum!

17

07.09.2011, 20:51

wollte ich sowieso machen sobald es perfekt geht :D

bis jetzt kann man sich einloggen und eine nachricht in den channel schreiben. :)


Quellcode

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
54
55
56
57
58
59
60
61
Imports System.Net.Sockets

Module Module1

    Sub Main()
        Try
            Dim port As Int32 = 2710
            Dim client As New TcpClient("localhost", port)

            'mit 0x00 Verbindung aufbauen 0x00 = &H0 
            Dim message As Byte() = New Byte() {&H0}
            ' t-Token als Byte array.
            Dim data As [Byte]() = System.Text.Encoding.UTF8.GetBytes("0t" + vbNullChar + "V9.0afi ")



            Dim stream As NetworkStream = client.GetStream()
            client.GetStream.Flush()

            
            ' Daten an Server senden
            stream.Write(message, 0, message.Length)
            stream.Write(data, 0, data.Length)

            Console.WriteLine("Sent: {0}", System.Text.Encoding.ASCII.GetString(data))

            ' Receive the TcpServer.response.
            ' Buffer to store the response bytes.
            data = New [Byte](256) {}

            ' String to store the response ASCII representation.
            Dim responseData As [String] = [String].Empty

            ' Read the first batch of the TcpServer response bytes.
            Dim bytes As Int32 = stream.Read(data, 0, data.Length)
            responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes)
            Console.WriteLine("Received: {0}", responseData)
            ' Close everything.

            Dim n As [Byte]() = System.Text.Encoding.UTF8.GetBytes("0n" + vbNullChar + "channel" + vbNullChar + "nick" + vbNullChar + "pw")
            stream.Write(n, 0, n.Length)

            Dim Hi As [Byte]() = System.Text.Encoding.UTF8.GetBytes("0e" + vbNullChar + "channel" + vbNullChar + "Hallo :)" + vbNullChar)
            stream.Write(Hi, 0, Hi.Length)

            Dim a As [Byte]() = System.Text.Encoding.UTF8.GetBytes("0d" + vbNullChar)
            stream.Write(a, 0, a.Length)


        Catch e As ArgumentNullException
            Console.WriteLine("ArgumentNullException: {0}", e)
        Catch e As SocketException
            Console.WriteLine("SocketException: {0}", e)
        End Try

        Console.WriteLine(ControlChars.Cr + " Press Enter to continue...")
        Console.Read()

    End Sub 'Connect

End Module

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »uncopyable« (07.09.2011, 21:10)


18

08.09.2011, 03:51

http://msdn.microsoft.com/en-us/library/…t(v=vs.71).aspx :whistling:

Edit: Diebi, du bist doch unser VB-Spezialist. :b In VB.NET benutzt man für Strings nicht den + Operator, sondern &.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Brainy« (08.09.2011, 04:06)