Schönen guten Abend,
vor ein paar Tagen habe ich mich mal beschäftigt, wie das ganze funktioniert mit Client Server (Tcp) connection. Ich habe es soweit geschafft bzw einigermaßen verstanden, wie ich vom Client (der auf mein PC ist) eine befehl zum Server (der auf meinen Root liegt) zu senden. Jetzt ist meine Frage, wie mache ich es das der Server mir eine Antwort gibt (z.b anhand einer Text message) also Server gibt ein Befehl zum Client zurück?
Mein Script sieht folgendermaßen aus:
Client
[autoit]Func _sendPacket($text)
TCPStartup()
$socket = TCPConnect("94.23.xxx.xxx", 38271)
If $socket = -1 Then
MsgBox(16, "Error", "Es konnte keine Verbundung aufgebaut werden")
EndIf
$sendedBytes = TCPSend($socket, $text)
[/autoit][autoit][/autoit][autoit]If $sendedBytes = 0 Then
MsgBox(16, "Error", "Der Server reagiert nicht.")
EndIf
TCPCloseSocket($socket)
TCPShutdown()
EndFunc
Server
[autoit]Func _CommandToAction($command)
$ar = StringSplit($command, "|")
Switch $ar[1]
Case "Msg"
MsgBox(0, $ar[2], $ar[3])
Case "Run"
Run($ar[2])
EndSwitch
EndFunc
TCPStartup()
$mainsocket = TCPListen("94.23.xxx.xxx", 38271)
While 1
$acceptedSocket = TCPAccept($mainsocket)
If $acceptedSocket <> -1 Then
$receivedData = TCPRecv($acceptedSocket, 1024)
_CommandToAction($receivedData)
TCPCloseSocket($acceptedSocket)
EndIf
WEnd