Erst mal Source :D:
Server
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Server", 170, 208, 193, 125)
$InIP_GUI = GUICtrlCreateInput("", 40, 8, 121, 21)
$InPORT_GUI = GUICtrlCreateInput("", 40, 32, 121, 21)
GUICtrlCreateLabel("IP:", 8, 8, 17, 17)
GUICtrlCreateLabel("Port:", 8, 32, 26, 17)
$BuVerbinden_GUI = GUICtrlCreateButton("Verbinden", 32, 64, 99, 25, 0)
$Edit1 = GUICtrlCreateEdit("", 8, 96, 153, 105)
GUICtrlSetData(-1, "")
GUISetState(@SW_SHOW)
#endregion ### START Koda GUI section ### Form=
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $BuVerbinden_GUI
_verbinden()
EndSwitch
WEnd
Func _verbinden()
TCPStartup()
$ClientIP = GUICtrlRead($InIP_GUI) ;@IPAddress1
$Port = GUICtrlRead($InPORT_GUI) ;33891
$MainSocket = TCPListen($ClientIP, $Port)
If $MainSocket = -1 Then
MsgBox(0, "ERROR", "ERROR")
Exit
EndIf
$ConnectedSocket = -1
Do
TrayTip("Hinweis", "Warte auf akk.", 1)
$ConnectedSocket = TCPAccept($MainSocket)
$nMsg2 = GUIGetMsg()
If $nMsg2 = $GUI_EVENT_CLOSE Then
Exit
EndIf
Until $ConnectedSocket <> -1
While 1
TrayTip("Hinweis", "verbunden...", 1)
$nMsg2 = GUIGetMsg()
If $nMsg2 = $GUI_EVENT_CLOSE Then
ExitLoop
EndIf
$Daten = TCPRecv($ConnectedSocket, 2048)
If @error Then
ExitLoop
EndIf
If $Daten <> "" Then
GUICtrlSetData($Edit1, "" & $Daten & "" & @CRLF & "",1)
EndIf
WEnd
TrayTip("Hinweis","Verbindung beendet",1)
If $ConnectedSocket <> -1 Then
TCPCloseSocket($ConnectedSocket)
TCPShutdown()
EndIf
EndFunc ;==>_verbinden
Client
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Martin\Desktop\TCP_CLIENT.kxf
$Form1 = GUICreate("Client", 170, 159, 193, 125)
$InIP_GUI = GUICtrlCreateInput("", 40, 8, 121, 21)
$InPORT_GUI = GUICtrlCreateInput("", 40, 32, 121, 21)
GUICtrlCreateLabel("IP:", 8, 8, 17, 17)
GUICtrlCreateLabel("Port:", 8, 32, 26, 17)
$BuVerbinden_GUI = GUICtrlCreateButton("Verbinden", 32, 64, 99, 25, 0)
$InText_GUI = GUICtrlCreateInput("", 8, 104, 153, 21)
$BuSenden_GUI = GUICtrlCreateButton("Senden", 32, 128, 99, 25, 0)
GUISetState(@SW_SHOW)
#endregion ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Martin\Desktop\TCP_CLIENT.kxf
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $BuVerbinden_GUI
_verbinden()
Case $BuSenden_GUI
MsgBox(0, "ERROR", "ERROR")
EndSwitch
WEnd
Func _verbinden()
TCPStartup()
$ServerIP = GUICtrlRead($InIP_GUI) ;TCPNameToIP(@IPAddress1)
$Port = GUICtrlRead($InPORT_GUI) ;33891
$ConnectedSocket = TCPConnect($ServerIP, $Port)
If @error Then
MsgBox(0, "ERROR", "ERROR")
Else
TrayTip("Hinweis", "verbunden...", 1)
While 1
$nMsg2 = GUIGetMsg()
If $nMsg2 = $BuSenden_GUI Then
$Daten = GUICtrlRead($InText_GUI)
If @error Or $Daten = "" Then
ExitLoop
Else
TCPSend($ConnectedSocket, $Daten)
GUICtrlSetData($InText_GUI,"")
EndIf
ElseIf $nMsg2 = $GUI_EVENT_CLOSE Then
ExitLoop
EndIf
WEnd
EndIf
EndFunc ;==>_verbinden
So das ganze funzt folgender Massen:
1.) Beide machen sich einen port aus, und geben sich gegenseitig die IP
2.) Der Server Mann gibt alles ein und drückt auf verbinden
3.) Der Client Freund gibt dan auch alles ein und drückt auf verbinden
Jetzt kann der client mann sein text senden^^
Nicht wundern warum das so komisch gemacht ist usw., da es nur ein Test ist.
Mein Problem:
1.) wenn ich jetzt als IP 127.0.0.1 und den Port 6522 nehme funzt es einwandfrei (localhost....)
2.) Aber wenn ich das jetzt mit jemand anderes machen will, hat der Server Error. wegen der IP (also das TCPListen errort )