Empfänger
Code:
; TCP
TCPStartup()
$ip = "192.168.178.35"
$port = 3333
$listen = TCPListen($ip, $port)
$accept = TCPAccept($listen)
$recv = TCPRecv($accept, 1024)
while 1
If $listen <> -1 Then
If $accept <> -1 Then
;ToolTip($accept & " has conncected")
$recv = TCPRecv($accept, 1024)
;If @error Then;connection lost
; ToolTip("lost connection between " & $accept)
;EndIf
If $recv <> "" Then;if received something
ToolTip("received this: '" & int($recv) & "'")
$FHP = int($recv) ; umwandlung hex zu int
EndIf
Else
$accept = TCPAccept($listen)
EndIf
Else
$listen = TCPListen($ip, $port)
EndIf
WEnd
Sender ( zu $HP -> isn Float - Wert der aus nem client ausgelesen wird und an den empfänger weiter gegeben werden soll )
Code:
; TCP
TCPStartup()
$ip = "192.168.178.35"
$port = 3333
$connect = TCPConnect($ip, $port)
$tcptimer = timerinit()
while 1
If $connect <> -1 Then
if TimerDiff($tcptimer) > 1000 Then
; Umwandlung von float zu int über string
$HP = String($HP)
$HP = Int($HP)
$send = TCPSend($connect,$HP)
$tcptimer = timerinit()
EndIf
Else
$connect = TCPConnect($ip, $port)
EndIf
WEnd
das funktioniert soweit eigentlich ganz gut. Das Streamen läuft.
Problematisch wirds halt blos, wenn einer der Beiden kurzzeitig abschmiert.
für den Fall müssen die Sockets dann halt doch erneuert werden.
Nur irgendwie hab ich es noch nicht hinbekommen, dass der eine client mitbekommt, wenn der andere client nicht mehr läuft o_O
eine kleine Feinheit, die ich durch den tcptimer erstmal geregelt hab ist, dass wenn der Sender zu schnell schickt, es so ne art Stau gibt
und dann anstatt "ABC" "ABC" "ABC" eben "ABCABCABC" ankommt.