[Frage] TCP über Dynamische IP??

02/19/2011 17:04 BlackHybrid#1
Hey Com,

ich hab mal ne Frage undzwar woran liegt es wenn ich ich mit meinem Client etwas an meinen Server über eine Dynamische IP per TCPSend schicken will??

Bei mir klappts nicht.

Hab auch Firewall etc. aus und Ports offen.

Hier mal beispiel für Server und Client

PHP Code:
TCPStartup()
$MainSocket TCPListen("127.0.0.1"2000)

While 
1

    $NewSocket 
TCPAccept($MainSocket)

    If 
$NewSocket >= 0 Then
        
Do
            
$Recv TCPRecv($NewSocket2048)
        
Until $Recv <> ""
        
ConsoleWrite("Empfangen : " $Recv & @CR)

    EndIf

WEnd 
PHP Code:
#include <GuiConstants.au3>
#include <Inet.au3>

TCPStartup()

$GUI GUICreate(""300500)
$Edit GUICtrlCreateEdit(""00300200)

$OK GUICtrlCreateButton("Senden"10030010030)

GUISetState()

$IP "Dynamische IP"

While 1
    $msg 
GUIGetMsg()

    Switch 
$msg

        
Case $OK
            $MainSocket 
TCPConnect($IP2000)
            
TCPSend($MainSocketGUICtrlRead($Edit))

            
MsgBox(0"GESENDET""Die Nachricht wurde gesendet")
    EndSwitch
WEnd 
02/19/2011 17:57 derpo#2
Starte mal cmd und gib dort ipconfig ein dann sollte dort eine IP, die mit "192.168" stehen und auf dieser führst du dann TCPListen aus. Wenn du die Ports freigeschaltet hast, sollte es über die Dynamische IP aufrufbar sein.
02/19/2011 18:08 BlackHybrid#3
Ne klappt leider nicht =(
02/19/2011 18:10 derpo#4
Hast du auch keinen Tippfehler bei TCPConnect gemacht?

Edit : Probier auch mal, ob du mit dem Webbrowser auf den Port der Dynamischen IP zugreifen kannst.
02/19/2011 18:11 BlackHybrid#5
Ne die IP stimmt
02/19/2011 18:15 derpo#6
Mach mal einen Timer rein, dass der Server nicht zum Stehen gebracht wird, wenn ein Client nur verbindet und mehr nicht.
PHP Code:
        $timer TimerInit()
        Do
            
$Recv TCPRecv($NewSocket2048)
            If 
TimerDiff($timer) >= 2000 Then
                TCPCloseSocket
($NewSocket)
                
ExitLoop
            
EndIf
        
Until $Recv
        
If $Recv Then ConsoleWrite("Empfangen : " $Recv & @CRLF
Probier es auch mal mit einem anderen Port.

Edit : Mach am Besten vor WEnd Sleep(10) rein
02/19/2011 18:27 BlackHybrid#7
Klappt leider auch nicht. TCPConnect gibt übrigens -1 zurück.
02/19/2011 18:28 derpo#8
Probier mal direkt zu verbinden, vielleicht liegt der Fehler ja wo anders
02/19/2011 18:34 BlackHybrid#9
Ja mit 127.0.0.1 klappts
02/19/2011 18:43 derpo#10
Überprüfe nochmal :
Ob TCPListen mit der IP bei ipconfig, die mit 192.168 anfängt aufgerufen wird
Ob der richtige Port freigeschaltet ist
Ob der Client zu der richtigen IP verbindet
02/19/2011 18:46 BlackHybrid#11
Stümmt alles =(
02/19/2011 18:55 derpo#12
Prüfe nochmal, ob du mit der 192.168.* verbinden kannst
02/19/2011 18:59 BlackHybrid#13
Mit der kann ich auch connecten
02/19/2011 19:02 derpo#14
Falls du mehrere IPs bei ipconfig hast, die mit 192.168 anfangen, nimm die oberste
02/19/2011 19:03 BlackHybrid#15
Ja die von meinem comp. Hab auch schon die vom router benutzt.