WSAENOTCONN 10057 Fehler

  • Hi Leute,
    ich habe ein kleines Script geschrieben um jemandem im Netzwerk mitzuteilen, dass ein Fax angekommen ist. Jetzt funktioniert nur die Sendenfunktion nicht. Es kommt der o.g. Fehler (Socket ist nicht vorhanden ?( )
    Vielleicht seht ihr ja den Fehler, ich hab ihn nicht gefunden:
    Zum senden:

    Spoiler anzeigen
    [autoit]

    Global $1 = 1
    Global $IP = InputBox("IP", "IP des anderen:", "192.168.0.55")
    TCPStartup()
    If @error = -1 Then
    MsgBox(0, "Error", "Folgender Fehler ist aufgetreten:" & @error)
    EndIf
    Global $Connect = TCPConnect($IP, 6221)
    If @error = -1 Then
    MsgBox(0, "Error", "Folgender Fehler ist aufgetreten:" & @error)
    EndIf
    While $1=1
    $Text = InputBox("Text", "Die Nachricht")
    If @error Then
    $1=0
    EndIf
    If $Text <> "" Then
    Global $Socket = TCPListen(@IPAddress1, 6222)
    If @error = -1 Then
    MsgBox(0, "Error", "Folgender Fehler ist aufgetreten:" & @error)
    EndIf
    TCPSend($Socket, $Text)
    If @error Then
    MsgBox(0, "Error", "Folgender Fehler ist aufgetreten:" & @error)
    EndIf
    EndIf
    WEnd

    [/autoit]


    Zum empfangen:

    Spoiler anzeigen
    [autoit]

    #include <iNet.au3>
    TCPStartup()
    If @error = -1 Then
    MsgBox(0, "Error", "Folgender Fehler ist aufgetreten:" & @error)
    EndIf
    Global $Socket = TCPListen(@IPAddress1, 6221)
    If @error = -1 Then
    MsgBox(0, "Error", "Folgender Fehler ist aufgetreten:" & @error)
    EndIf
    While 1
    Global $SMsg = TCPAccept($Socket)
    If @error = -1 Then
    MsgBox(0, "Error", "Folgender Fehler ist aufgetreten:" & @error)
    EndIf
    If $SMsg >0 Then
    Global $Msg = TCPRecv($SMsg, 9999)
    If @error = -1 Then
    MsgBox(0, "Error", "Folgender Fehler ist aufgetreten:" & @error)
    EndIf
    If $Msg <> "" Then
    Global $eingehendeIP = SockettoIP($SMsg)
    Global $name = _TCPIpToName($eingehendeIP)
    MsgBox(0, "Nachricht", $name & " schrieb folgendes an dich:" & @CRLF & $Msg)
    EndIf
    EndIf
    WEnd

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

    #Region Func
    Func SocketToIP($SHOCKET) ;== Ip des Senders erhalten s. Hilfe "Function Reference TCPRecv"
    Local $sockaddr, $aRet
    $sockaddr = DllStructCreate("short;ushort;uint;char[8]")
    $aRet = DllCall("Ws2_32.dll", "int", "getpeername", "int", $SHOCKET, _
    "ptr", DllStructGetPtr($sockaddr), "int*", DllStructGetSize($sockaddr))
    If Not @error And $aRet[0] = 0 Then
    $aRet = DllCall("Ws2_32.dll", "str", "inet_ntoa", "int", DllStructGetData($sockaddr, 3))
    If Not @error Then $aRet = $aRet[0]
    Else
    $aRet = 0
    EndIf
    $sockaddr = 0
    Return $aRet
    EndFunc
    #EndRegion Func

    [/autoit]


    Danke für die Hilfe

  • Sry wegen Doppelpost;
    Weiß keiner mehr woran es sonst noch liegen könnte? Der Fehler besagt ja, dass das Socket nicht da /geöffnet ist (???) obwohl es eigentlich da sein sollte. Ich habe auch alles mal mit msgboxen versehen und auch einen dreistelligen Wert von $Socket erhalten. Die Variable ist auch Global. Falls jemand den Fehler doch noch findet oder schnell selbst ein funktionierendes Programm schreiben könnte (es muss ja nur in die eine Richtung gehen um eine kurze Nachricht zu schicken) wäre ich demjenigen sehr verbunden.
    Aquaplant