TCP Client connect to Server Problem

  • Hey,

    ich habe ein Problem. Wir haben auf einem Rechner eine Server.au3 und auf einem anderen Rechner, in einem anderen Netz, eine Client.au3.
    Das Problem: Wir können nicht connecten. Wenn wir den Server starten und versuchen mit TCPConnect drauf zuzugreifen wartet man lange und es kommt irg wann @error = 10060. Timeout.

    Und ja, wir haben den Port freigegeben und auch in der Firewall den Port zugelassen. Wir haben schon jede IP benutzt, zuletzt die offene die man durch _GetIP bekommt.

    Server:

    Server
    [autoit]

    #include<inet.au3>

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

    Global Const $sSocketIP = _getip()
    Global Const $sSocketPort = 4321
    consolewrite($sSocketIP)
    TCPStartup()
    $MainSocket = TCPListen($sSocketIP, $sSocketPort)
    While 1
    $Accept = TCPAccept($MainSocket)
    If $Accept <> -1 Then
    MsgBox (0, "Client connected", "Ein Client ist connected!", 10)
    Do
    $Recv = TCPRecv($Accept, 1000)
    Until $Recv <> ""
    MsgBox(0, "Nachricht", "Es ist eine Nachricht eingegangen: " & @CRLF & $Recv)
    EndIf

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

    WEnd
    TCPShutdown()

    [/autoit]

    Client:

    Client
    [autoit]

    Global Const $sConnectIP = "93.209.180.118"
    Global Const $sConnectPort = 4321

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

    TCPStartup()
    $MainSocket = TCPConnect($sConnectIP, $sConnectPort)
    If @error Then
    MsgBox(0, "Fehler", "Es ist ein Fehler beim Connecten aufgetreten." & @CRLF & "Errorcode: " & @error)
    Exit
    Else
    MsgBox(0, "Conected", "Client ist Connected.", 10)
    EndIf

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

    $sMail = "Testscript sendet an Masterserver."
    While Sleep(4000)
    $TcpSend = TCPSend($MainSocket, "Nachricht: " & @CRLF & $sMail)
    If $TcpSend = 0 Then
    MsgBox(0, "Fehler", "Senden Fehlgeschlagen." & @CRLF & "Errorcode: " & @error)
    Exit
    EndIf
    WEnd
    TCPShutdown()

    [/autoit]

    Die IP Im Client müsste ihr anpassen um es zu testen. Lokal geht es, einfach @IPAdress1 benutzen.

    Ich hoffe ihr könnte uns helfen.

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake

    Einmal editiert, zuletzt von BadBunny (22. April 2011 um 09:30)

  • Ich kann mir kaum vorstellen das das Soket so geht.
    Den Im server Soket benutzt du deine Inernet IP.
    Und Solange das Script nicht auf dem Router läuft ises Flasch.
    Also muss im Server Teil die IP stehen die dir der Router Zuweist oder die du slebst konfiguriert hast.
    CMD->ipconfig /all->ENTER ^^
    Da wird deine richtige IP dabei sein
    EDIT: Also du brauchst deine Netzwerk IP, deshlab ises ja auch so wichtig das als NAT Regel BZW Firewalleintrag im Router zu deiner IP einzustellen aber das haste ja schon gemacht.

  • zum einen, das was Matthias_199 gesagt hat :


    [...]Also muss im Server Teil die IP stehen die dir der Router Zuweist oder die du slebst konfiguriert hast. [...]

    und dann musst du im router eine portweiterleitung bei dem machen, der den server offen hat.
    der client benutzt dann die richtige ip und der server die ip vom router

    Mfg. PCKing


    Mein PC

    CPU: AMD FX 8350 8x4.00GHz
    Ram: 8GB DDR3
    Grafikkarte: Nvidia Geforce GTX 960 (4GB)
    Festplatten: 500GB SSD 1TB HDD
    Laufwerk: Blueray RW+ Brenner

  • Hi,
    ich glaube, für einige Postings würde sich ein Sticky lohnen.....
    z.B. für den hier: [ gelöst ] Clien sendet an Server nicht übers Inet
    Der Threadersteller dort *husthust* wollte es jedenfalls mal ausprobieren, ob es funktionierte, hat er uns nicht mitgeteilt!

    ciao
    Andy


    "Schlechtes Benehmen halten die Leute doch nur deswegen für eine Art Vorrecht, weil keiner ihnen aufs Maul haut." Klaus Kinski
    "Hint: Write comments after each line. So you can (better) see what your program does and what it not does. And we can see what you're thinking what your program does and we can point to the missunderstandings." A-Jay

    Wie man Fragen richtig stellt... Tutorial: Wie man Script-Fehler findet und beseitigt...X-Y-Problem

    2 Mal editiert, zuletzt von Andy (22. April 2011 um 08:13)

  • Ich wusste das ihr irg wann mit dem Tread da kommt... ich kann euch sagen das es Lokal geklappt hat. Global hab ich es so gemacht: Im Server hab ich die IP genommen, mit der der Servercomputer am Router angemeldet ist. Im Client hab ich die Router IP eingetragen. Im Server hab ich den Port 5555 freigemacht und in Client nicht, da es bei ihm eigentlich egal sein sollte. Und siehe da, es klappt (danke an BugFix der so freundlich war und den Client gespielt hat.)

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake