Also eigentlich müsste es doch klappen oder...
ich starte an meinem pc den server und an dem laptop meines vaters den clienten und
ich müsste die maus so steueren können wie wenn ich beides bei mir starte, oder?
Client:
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
$ClientGui = GUICreate("Client", 400, 400, 250, 150)
$Input = GUICtrlCreateInput("Input", 10, 10, 380, 20)
$Button = GUICtrlCreateButton("Button", 10, 40, 380, 35)
$Group = GUICtrlCreateGroup("Maus-Analyzer", 10, 80, 380, 300)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
TCPStartup();TCP wird initialisiert
Sleep(3000)
AdlibRegister("_moveMouse",60)
While 1
$Msg = GUIGetMsg()
Select
Case $Msg = $GUI_EVENT_CLOSE
_ende()
EndSelect
WEnd
Func _moveMouse()
If Not _IsPressed(01) Then
$MPos = GUIGetCursorInfo()
If IsArray($MPos) Then
$MposX = $MPos[0]
$MposY = $MPos[1]
EndIf
$Socket = TCPConnect("127.0.0.1", 12345) ; Versucht eine Verbindung zum Server aufzubauen und speichert die SocketID in "$Socket" ab
If $Socket = -1 Then ; Wenn $Socket = -1 ist, Fehlermeldung ausgeben
MsgBox(16, "Error", "Die Verbindung zum Server konnte nicht hergestellt werden!") ; Fehlermeldung
EndIf
$Message = $MposX&":"&$MposY
$SendedBytes = TCPSend($Socket, $Message) ; Sendet den Text an unseren verbundenen Socket
If $SendedBytes = 0 Then ; Wenn der Rückgabewert von TCPSend(...) 0 ist, Fehlermeldung ausgeben
MsgBox(16, "Error", "Das Paket konnte nicht gesendet werden.") ; Fehlermeldung
EndIf
TCPCloseSocket($Socket)
ElseIf _IsPressed(01) Then
$Socket = TCPConnect("127.0.0.1", 12345) ; Versucht eine Verbindung zum Server aufzubauen und speichert die SocketID in "$Socket" ab
If $Socket = -1 Then ; Wenn $Socket = -1 ist, Fehlermeldung ausgeben
MsgBox(16, "Error", "Die Verbindung zum Server konnte nicht hergestellt werden!") ; Fehlermeldung
EndIf
$Message = "[LeftClick]"
$SendedBytes = TCPSend($Socket, $Message) ; Sendet den Text an unseren verbundenen Socket
If $SendedBytes = 0 Then ; Wenn der Rückgabewert von TCPSend(...) 0 ist, Fehlermeldung ausgeben
MsgBox(16, "Error", "Das Paket konnte nicht gesendet werden.") ; Fehlermeldung
EndIf
TCPCloseSocket($Socket)
EndIf
EndFunc
Func _ende()
$Socket = TCPConnect("127.0.0.1", 12345) ; Versucht eine Verbindung zum Server aufzubauen und speichert die SocketID in "$Socket" ab
If $Socket = -1 Then ; Wenn $Socket = -1 ist, Fehlermeldung ausgeben
MsgBox(16, "Error", "Die Verbindung zum Server konnte nicht hergestellt werden!") ; Fehlermeldung
EndIf
$Message = "[Exit]"
$SendedBytes = TCPSend($Socket, $Message) ; Sendet den Text an unseren verbundenen Socket
If $SendedBytes = 0 Then ; Wenn der Rückgabewert von TCPSend(...) 0 ist, Fehlermeldung ausgeben
MsgBox(16, "Error", "Das Paket konnte nicht gesendet werden.") ; Fehlermeldung
EndIf
TCPCloseSocket($Socket)
TCPShutdown()
Exit
EndFunc
Server:
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
$ServerGui = GUICreate("Server", 400, 400, 250, 150)
$Input = GUICtrlCreateInput("Input", 10, 10, 380, 20)
$Button = GUICtrlCreateButton("Button", 10, 40, 380, 35)
$Group = GUICtrlCreateGroup("Maus-Analyzer", 10, 80, 380, 300)
$Cursor = GUICtrlCreateIcon(@WindowsDir & "\cursors\aero_arrow.cur", -1, 20, 100, 32, 35)
GUICtrlSetBkColor(-1,0xff0000)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
TCPStartup() ; TCP wird initialisiert
$MainSocket = TCPListen("127.0.0.1", 12345) ; Den MainSocket erstellen
While 1
$Msg = GUIGetMsg()
Select
Case $Msg = $Button
MsgBox(0,"Hinweis","Button wurde gedrückt!")
EndSelect
$AcceptedSocket = TCPAccept($MainSocket) ; Wir versuchen eine möglicher Verbindung anzunehmen
If $AcceptedSocket <> -1 Then ; Wenn $AcceptedSocket ungleich -1 ist, ...
$ReceivedData = TCPRecv($AcceptedSocket, 1024) ; Wenn eine Socketverbindung hergestellt wurde, empfange ein Paket vom Client ($ConnectedSocket)
$Split = StringSplit($ReceivedData, ":")
If $ReceivedData = "[Exit]" Then
TCPCloseSocket($MainSocket)
TCPShutdown()
Exit
ElseIf $ReceivedData = "[LeftClick]" Then
$CursorInfo = ControlGetPos("Server","",$Cursor)
If IsArray($CursorInfo) Then
$CursorX = $CursorInfo[0]
$CursorY = $CursorInfo[1]
MouseClick("left",1,$CursorX,$CursorY)
EndIf
ElseIf IsArray($Split) Then
$X = $Split[1]
$Y = $Split[2]
;$ServerGuiInfo = WinGetPos("Server","")
;$ServerGuiX = $ServerGuiInfo[0]+3
;$ServerGuiY = $ServerGuiInfo[1]+25
ControlMove("Server","",$Cursor,$X,$Y)
$X = 0
$Y = 0
EndIf
TCPCloseSocket($AcceptedSocket)
EndIf
Sleep(50)
WEnd