TCP Lan Chat verbindung schleckt fehl

  • Zitat

    Das Problem ist keiner kann sogesagt connecten. Wie kann ich das ändern ?


    Wie wärs mit ein paar Details? :pinch:
    Ich frage ja auch nicht "Mein Computer geht nicht mehr, was ist kaputt?"... :rofl:

    Wenn er Lokal aber nicht über das Internet funktioniert, dann würde ich sagen du musst die entsprechenden Ports im Router öffnen...

  • haste schon die firewall überprüft? hast du das tcpconnect kommando in einer do-schleife? hast du währenddessen auf dem anderen pc das tccpaccept in einer do-schleife? hast du die richtigen ip´s benutzt?

    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

  • Firewall kA eigentlich kommt ja immer Schild raus :D

    Client
    [autoit]

    #RequireAdmin

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

    #include <GUIConstantsEx.au3>
    #include <GuiIPAddress.au3>

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

    Global $socket

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Client", 664, 334, 241, 111)
    $Group1 = GUICtrlCreateGroup("Benutzer", 4, 0, 197, 241)
    $ListView1 = GUICtrlCreateListView("", 10, 14, 186, 222)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Chat", 208, 2, 453, 329)
    $ListView2 = GUICtrlCreateListView("", 214, 16, 442, 286)
    $Input1 = GUICtrlCreateInput("", 216, 306, 387, 21)
    $Button1 = GUICtrlCreateButton("Senden", 608, 306, 47, 21)
    GUICtrlSetState (-1,$GUI_DISABLE)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group3 = GUICtrlCreateGroup("Login", 4, 242, 197, 89)
    $Label1 = GUICtrlCreateLabel("ServerIP:", 12, 258, 48, 17)
    $IPAddress1 = _GUICtrlIpAddress_Create($Form1, 62, 254, 130, 21)
    _GUICtrlIpAddress_Set($IPAddress1, FileRead ("serverip.ini"))
    $Button2 = GUICtrlCreateButton("Login", 12, 280, 179, 25)
    $Label = GUICtrlCreateLabel("Login Status", 14, 308, 179, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    TCPSend($socket, "#Exit:" & @ComputerName)
    TCPCloseSocket ($socket)
    TCPShutdown ()
    Exit
    Case $Button1
    TCPSend($socket, GUICtrlRead($Input1))
    Case $Button2
    TCPStartup()
    $socket = TCPConnect(_GUICtrlIpAddress_Get($IPAddress1), 65432)
    If $socket = -1 Then
    GUICtrlSetData ($Label,"Server läuft nicht.")
    MsgBox (0,"Fehler","Server läuft nicht.")
    Else
    TCPSend($socket, "#Name:" & @ComputerName)
    GUICtrlSetData ($Label,"Erfolgreich eingelogt.")
    GUICtrlSetState ($Button1,$GUI_ENABLE)
    GUICtrlSetState ($Button2,$GUI_DISABLE)
    EndIf
    EndSwitch
    WEnd

    [/autoit]
    Server
    [autoit]

    #include <Array.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiIPAddress.au3>
    Global $sClient[1][2], $socket

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Server", 664, 334, 241, 111)
    $Group1 = GUICtrlCreateGroup("Benutzer", 4, 0, 197, 241)
    $ListView1 = GUICtrlCreateListView("Computername", 10, 14, 186, 222)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Chat", 208, 2, 453, 329)
    $ListView2 = GUICtrlCreateListView("Zeit|Computername|Text ", 214, 16, 442, 286)
    $Input1 = GUICtrlCreateInput("", 216, 306, 387, 21)
    $Button1 = GUICtrlCreateButton("Senden", 608, 306, 47, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group3 = GUICtrlCreateGroup("Login", 4, 242, 197, 89)
    $Label1 = GUICtrlCreateLabel("ServerIP:", 12, 258, 48, 17)
    $IPAddress1 = _GUICtrlIpAddress_Create($Form1, 62, 254, 130, 21)
    _GUICtrlIpAddress_Set($IPAddress1, @IPAddress1)
    $Button2 = GUICtrlCreateButton("Server starten", 12, 280, 179, 25)
    $Label = GUICtrlCreateLabel("Server Status", 14, 308, 179, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    TCPSend($socket, GUICtrlRead($Input1))
    Case $Button2
    TCPStartup()
    $socket = TCPListen(@IPAddress1, 65432, 100)
    If $socket = -1 Then
    GUICtrlSetData($Label, "Port Falsch.")
    MsgBox(0, "ERROR", "Port Falsch")
    Else
    TCPSend($socket, "#Name:" & @ComputerName)
    GUICtrlSetData($Label, "Server gestartet")
    GUICtrlSetState($Button1, $GUI_ENABLE)
    GUICtrlSetState($Button2, $GUI_DISABLE)
    FileDelete("serverip.ini")
    FileWrite("serverip.ini", @IPAddress1)
    EndIf
    EndSwitch
    $TempSocket = TCPAccept($socket)
    If $TempSocket <> -1 Then
    ReDim $sClient[UBound ($sClient)+1][2]
    $sClient[UBound($sClient)-2][0] = $TempSocket
    EndIf
    For $i = 0 To UBound($sClient) - 1
    $rec = TCPRecv($sClient[$i][0], 2048)
    If $rec <> "" Then
    If StringInStr($rec, "#Name:") Then
    $sClient[$i][1] = StringReplace($rec, "#Name:", "")
    GUICtrlCreateListViewItem ($sClient[$i][1],$ListView1)
    ElseIf StringInStr($rec, "#Exit:") Then
    ;_GUICtrlListView_GetItemCount
    Else
    GUICtrlCreateListViewItem (@HOUR & ":" & @MIN & "|" & $sClient[$i][1] & "|" & $rec,$ListView2)
    ;MsgBox(0, $sClient[$i][1], $rec)
    EndIf
    EndIf
    Next
    WEnd

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

    ;~ Local $start = TimerInit()
    ;~ Do
    ;~ $ConnectedSocket = TCPAccept($socket)
    ;~ Until $ConnectedSocket <> -1 Or (TimerDiff($start) > 25000)
    ;~ $sClient[0][0] = $ConnectedSocket

    [/autoit]

    Einmal editiert, zuletzt von Freaky (22. Mai 2010 um 19:45)

  • also:
    1.das _GUICtrlIpAddress_Create und _GUICtrlIpAddress_Set und _GUICtrlIpAddress_Get brauchst du nicht, es reicht auch @IPADRESS1
    2.wieso so kompliziert?
    3.das was mir fast immer auffällt: die ports müssen gleich sein

    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

  • bei dem, was du gepostet hast ist der port, den der client anspricht: 65432 (zeile: 41)
    der server nimmt verbindungen an auf port: 80 (zeile: 36)

    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