Hi,
habe folgende zwei Scripte mal erstellt. Das Clientscript:
Spoiler anzeigen
#include <Inet.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
OnAutoItExitRegister("killfunc")
$ip = @IPAddress1
[/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=
$Chatforum = GUICreate("Messenger", 500, 500)
$Chatedit = GUICtrlCreateEdit("", 0, 0, 500, 480, BitOR($ES_READONLY, $ES_WANTRETURN, $WS_VSCROLL, $ES_AUTOVSCROLL))
$Chatinput = GUICtrlCreateInput("", 0, 480, 470, 20)
$Chatsend = GUICtrlCreateButton("Send", 470, 480, 30, 20, $BS_DEFPUSHBUTTON)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
TCPStartup()
[/autoit] [autoit][/autoit] [autoit]While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Chatsend
$buffer = GUICtrlRead($Chatinput)
If $buffer <> "" Then
GUICtrlSetData($Chatinput, "")
SendMsg($buffer)
EndIf
EndSwitch
WEnd
Func SendMsg($txtMsg)
$ConnectedSocket = TCPConnect($ip, 56543)
MsgBox(0,"",@error)
Do
$recv = TCPRecv($ConnectedSocket, 2048)
Sleep(100)
Until $recv <> ""
TCPSend($ConnectedSocket, $txtMsg)
EndFunc ;==>SendMsg
Func killfunc()
TCPShutdown()
EndFunc ;==>killfunc
Und das Serverscript:
Spoiler anzeigen
#include <EditConstants.au3>
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiEdit.au3>
OnAutoItExitRegister("killfunc")
#Region ### START Koda GUI section ### Form=
$Chatforum = GUICreate("server", 500, 500)
$Chatedit = GUICtrlCreateEdit("", 0, 0, 500, 480, BitOR($ES_READONLY, $ES_WANTRETURN, $WS_VSCROLL, $ES_AUTOVSCROLL))
$Chatinput = GUICtrlCreateInput("", 0, 480, 470, 20)
$Chatsend = GUICtrlCreateButton("Send", 470, 480, 30, 20, $BS_DEFPUSHBUTTON)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
TCPStartup()
[/autoit] [autoit][/autoit] [autoit]$MainSocket = TCPListen(@IPAddress1, 56543)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While 1
$ConnectedSocket = TCPAccept($MainSocket)
If $ConnectedSocket >= 0 Then
TCPSend($ConnectedSocket, "1")
Do
$recv = TCPRecv($ConnectedSocket, 2048)
Sleep(100)
Until $recv <> ""
Print($recv)
EndIf
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func Print($txtMsg)
MsgBox(0, "", $txtMsg)
EndFunc ;==>Print
Func killfunc()
TCPShutdown()
EndFunc ;==>killfunc
Sendent man nun am Clientscript eine Nachricht ab kommt beim Serverscript eine Messagebox mit diesem Text. Soweit so gut. Wenn man nun allerdings die Variable $ip im Clientscript so abändert:
[autoit]$ip = _GetIP()
[/autoit]und also die extenre IP zum Aufbau der Verbindung genommen wird, kommt nur der Verbindugsfehler 10061. Dieser Fehler kommt auch bei komplett deaktivierter Firewall und der Weiterleitung aller eingehenden Verbindungen an den Rechner.