Hallo Liebe Autoit.de Community !
Zu Später Stunde habe ich noch eine frage zu TCP weil ich gerade nicht so wirklich weiter komme
Ich wollte gerne einen kleine Online - Mode schreiben doch dieser will nicht so wirklich wie ich will der Client Empfängt Postion - Pakete vorm Sender diese Position - Pakete sollen gemalt werden per GDIPlus doch leider klappt das mit dem Empfangen nicht so wirklich
Der Crap-Source
[autoit]
#RequireAdmin
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#include <Misc.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 373, 260, 192, 124)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Global $MainChar, $OnlineChar
Global $MainHeight, $MainWidth
Global $OnlineHeight, $OnlineWidth
Global $Background
Global $Main_X = 1, $Main_Y = 1, $Online_X = 20, $Online_Y = 20
Global $hGrafik, $hBuffer, $hBitmap
_GDIPlus_Startup()
$MainChar = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Bilder\bewegung_unten1.png")
$OnlineChar = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Bilder\bewegung_unten1.png")
$Background = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Bilder\bck.png")
$MainHeight = _GDIPlus_ImageGetHeight($MainChar)
$MainWidth = _GDIPlus_ImageGetWidth($MainChar)
$OnlineHeight = _GDIPlus_ImageGetHeight($OnlineChar)
$OnlineWidth = _GDIPlus_ImageGetWidth($OnlineChar)
$hGrafik = _GDIPlus_GraphicsCreateFromHWND($Form1)
$hBitmap = _GDIPlus_BitmapCreateFromGraphics(373, 260, $hGrafik)
$hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case Else
_Steuerung()
_RecvPosition()
_ReDraw($MainChar, $Main_X, $Main_Y, $MainWidth, $MainHeight, $OnlineChar, $Online_X, $Online_Y, $OnlineWidth, $OnlineHeight)
EndSwitch
[/autoit][autoit][/autoit][autoit][/autoit][autoit]WEnd
[/autoit][autoit][/autoit][autoit]Func _Steuerung()
Select
Case _IsPressed(25)
$Main_X -= 2
Case _IsPressed(26)
$Main_Y -= 2
Case _IsPressed(27)
$Main_X += 2
Case _IsPressed(28)
$Main_Y += 2
EndSelect
EndFunc
Func _ReDraw($Obj, $X, $Y, $Width, $Height, $Obj_1, $X_1, $Y_1, $Width_1, $Height_1)
_GDIPlus_GraphicsDrawImageRect($hBuffer, $Background, 0, 0, 373, 260)
_GDIPlus_GraphicsDrawImageRect($hBuffer, $Obj, $X, $Y, $Width, $Height)
_GDIPlus_GraphicsDrawImageRect($hBuffer, $Obj_1, $X_1, $Y_1, $Width_1, $Height_1)
_GDIPlus_GraphicsDrawImage($hGrafik, $hBitmap, 0, 0)
EndFunc
Func _RecvPosition()
Local $IP = "127.0.0.1", $Port = 2266
Local $MainSocket, $AcceptSocket, $RecvData, $DataSplit
TCPStartup()
$MainSocket = TCPListen($IP, $Port)
Do
$AcceptSocket = TCPAccept($MainSocket)
Until $AcceptSocket <> -1
$RecvData = TCPRecv($AcceptSocket, 1000)
$DataSplit = StringSplit($RecvData, ";")
If $DataSplit[0] == 2 Then
$Onlin_X = $DataSplit[1]
$Online_Y = $DataSplit[2]
EndIf
EndFunc
Func _Exit()
TCPShutdown()
EndFunc
Die _Exit Funktion ist nicht fertig wie man sieht aber dies sollte nicht mein Problem sein hat vlt jemand eine Idee ? warum das nicht will