TCP Mehrere Clients ?

  • Hi
    ich wollte mal fragen ist das möglich das sich mehrere Gleichzeitig auf einem TCP Socket verbinden können
    ich habe das mal so probiert

    server

    Spoiler anzeigen
    [autoit]


    TCPStartup()

    [/autoit] [autoit][/autoit] [autoit]

    $listen = TCPListen(@IPAddress1,1234,3)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Do
    $connected = TCPAccept($listen)
    Until $connected <> -1

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    $rec = TCPRecv($connected,300)
    if $rec <> "" Then ConsoleWrite($rec & @CR)
    WEnd

    [/autoit]


    client

    Spoiler anzeigen
    [autoit]


    TCPStartup()
    $connected = TCPConnect(@IPAddress1,1234)
    if @error Then Exit
    For $x = 0 to 99999
    Sleep(1000)
    TCPSend($connected,1 & "|")
    Next

    [/autoit]

    aber es ist immer so das sich der erste client verbindet und keine anderen mehr rein lässt (ich starte den clienten mehreremals)

    naja vieleicht weiß einer eine Lösung

    MFG Michael

  • Also ich habe den server so verändert und das funkt. auch


    Spoiler anzeigen
    [autoit]


    TCPStartup()
    Dim $Verbindungen[3]
    $listen = TCPListen(@IPAddress1, 1234, 3)

    [/autoit] [autoit][/autoit] [autoit]

    Global $Zahl = -1
    Do
    $connected = TCPAccept($listen)
    If $connected > -1 Then
    $Zahl += 1

    [/autoit] [autoit][/autoit] [autoit]

    $Verbindungen[$Zahl] = $connected
    EndIf
    Until $Zahl = 2

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    For $x = 0 to 2
    $rec = TCPRecv($Verbindungen[$x], 300)
    If $rec <> "" Then ConsoleWrite($rec & @CR)
    Next
    WEnd

    [/autoit]

    vorschläge und verbesserungen bitt posten