///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
SERVER
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Global Server = CreateTCPServer(8190)
Global RemoteStream
Global MovieBank = CreateBank(1)
Global CompressedBank = CreateBank(1)
Global LastAdded
;#############################################
Graphics 100,100,32,3
SetBuffer BackBuffer()
Global Movie = OpenMovie("C:\Users\Gardo\Desktop\Film\szenen\Final.mov")
;#############################################
Function LoadToBank()
LockBuffer BackBuffer()
ResizeBank MovieBank, 1
Counter = 0
Compressed = 0
For DoneX=0 To 100
For DoneY=0 To 100
ResizeBank MovieBank, BankSize(MovieBank)+4
PokeInt(MovieBank, Counter, ReadPixelFast(DoneX, DoneY))
Counter = Counter + 4
Next
Next
UnlockBuffer BackBuffer()
If RemoteStream <> 0 Then
ResizeBank CompressedBank, Counter*2
CompressedBankSize = CompressBank(MovieBank, 0, Counter, CompressedBank, 0, Counter*2, 9)
WriteInt RemoteStream, BankSize(CompressedBank)
WriteBytes CompressedBank, RemoteStream, 0,CompressedBankSize
WriteInt RemoteStream, BankSize(MovieBank)
ResizeBank CompressedBank, 1
End If
End Function
;#############################################
Repeat
If RemoteStream = 0
RemoteStream = AcceptTCPStream(Server)
End If
;###############################################
DrawMovie(Movie,0,0,100,100)
If MilliSecs()-LastAdded > 50 Then
LastAdded = MilliSecs()
LoadToBank()
End If
Flip
Cls
Until KeyHit(1)
;#############################################
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
CLIENT
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Global IP$ = "127.0.0.1"
;#############################################
Global RemoteStream = OpenTCPStream(IP$, 8190)
;#############################################
Global CompressedBank = CreateBank(1)
Global MovieBank = CreateBank(1)
;#############################################
Function ReceiveData()
If RemoteStream <> 0 Then
If ReadAvail(RemoteStream) > 0 Then
ResizeBank MovieBank, 1
ResizeBank CompressedBank, 1
ResizeBank CompressedBank, ReadInt(RemoteStream)+1
ReadBytes(CompressedBank, RemoteStream, 0, BankSize(CompressedBank))
ResizeBank MovieBank, ReadInt(RemoteStream) + 1
DecompressBank(CompressedBank, 0,BankSize(CompressedBank), MovieBank, 0, BankSize(MovieBank))
End If
Else
RemoteStream = OpenTCPStream(IP$, 8190)
End If
End Function
;#############################################
Function DrawData()
Counter = 0
If BankSize(MovieBank) > 1 Then
LockBuffer BackBuffer()
For DoneX = 0 To 100
For DoneY = 0 To 100
ColorVar = PeekInt(MovieBank, Counter)
If ColorVar <> 0 Then
WritePixelFast(DoneX, DoneY, ColorVar)
End If
Counter = Counter +4
Next
Next
UnlockBuffer BackBuffer()
End If
End Function
;#############################################
Graphics 100,100,32,3
SetBuffer BackBuffer()
;#############################################
Repeat
ReceiveData()
DrawData()
Flip
Cls
Until KeyHit(1)
;#############################################