Verfasst: 08.07.2006 12:24
Wie kann man den einen Video im Speicherbereich *Video mit SendNetworkFile() verschicken?
Das deutsche PureBasic-Forum
https://www.purebasic.fr/german/
#NULL hat geschrieben:den video einen einen virdeo ver Schicken einen mit dem vidoeoe mit SendNetworkData() das man man macht.$%&§$/(()%§
nein, #NULL bewegt sich nur auf der selben Kommunikationsebene wie JoelLaurin hat geschrieben:Schon am Mittag besoffen?
![]()
![]()
Speicherbereiche kann man mit SendNetworkFile() nicht verschicken, dafür brauchst du SendNetworkData(). hab ich aber auch schon geschrieben, aber du liest anscheinend die Antworten hier nicht.Joel hat geschrieben:Wie kann man den einen Video im Speicherbereich *Video mit SendNetworkFile() verschicken?
Code: Alles auswählen
Datei.s = OpenFileRequester(Datei, "", "", 0)
If OpenFile(0, Datei) = 0
Debug "Error: OpenFile!"
End
EndIf
lenFile = Lof(0)
*buffer = AllocateMemory(lenFile)
*pack = AllocateMemory(lenFile + 8)
ReadData(0, *buffer, lenFile)
lenPack = PackMemory(*buffer, *pack, lenFile, 7)
If lenPack
MessageRequester("Info", "Ratio: " + StrF(lenPack/lenFile))
Else
MessageRequester("Info", "Weitere Komprimierung nicht möglich")
EndIf
; *pack -> Daten zu senden
If InitNetwork() = 0
MessageRequester("Error", "Can't initialize the network !", 0)
End
EndIf
Port = 6832
ConnectionID = OpenNetworkConnection("joel2.dyndns.org", Port)
If ConnectionID = 1
MessageRequester("Error", "Can't load the movie...", 0)
End
EndIf
;Name$ = OpenFileRequester("Senden", "C:\", "*.*", 0 , 0)
;If Name$
SendNetworkData(ConnectionID, *pack, 55555)
CloseNetworkConnection(ConnectionID)
;Else
;MessageRequester("PureBasic - Client", "Can't find the server (Is it launched ?).", 0)
;EndIf
End
Code: Alles auswählen
If InitNetwork() = 0
MessageRequester("Error", "Can't initialize the network !", 0)
End
EndIf
Port = 6832
Buffer = AllocateMemory(1000)
If CreateNetworkServer(0, Port)
MessageRequester("PureBasic - Server", "Server created (Port "+Str(Port)+").", 0)
Repeat
SEvent = NetworkServerEvent()
If SEvent
ClientID = EventClient()
Select SEvent
Case 1
MessageRequester("PureBasic - Server", "hat sich gemeldet ", 0)
Case 2
MessageRequester("PureBasic - Server", "Ein Client hat eine roh-datei gesendet ", 0)
;DateiName$ = SaveFileRequester("Bitte Datei zum Speichern auswählen", "C:\", "*.*", 0)
;DateiName$
If *Video = AllocateMemory(3000000)
lenFile = Lof(0)
ReceiveNetworkData(ClientID, *Video, lenFile)
CopyFile("*Video", "C:\testttttt1.avi")
EndIf
;MessageRequester("Info", "String: "+PeekS(Buffer), 0)
End
Case 3
MessageRequester("PureBasic - Server", "Ein Client hat eine Datei gesendet!", 0)
SendNetworkString(ClientID, "Ja")
DateiName$ = SaveFileRequester("Bitte Datei zum Speichern auswählen", "C:\", "*.*", 0)
If DateiName$
ReceiveNetworkFile(ClientID, DateiName$)
EndIf
Case 4
MessageRequester("PureBasic - Server", "Die verbindung wurde beendet!", 0)
Quit = 1
EndSelect
EndIf
Until Quit = 1
MessageRequester("PureBasic - Server", "Click to quit the server.", 0)
CloseNetworkServer(0)
Else
MessageRequester("Error", "Can't create the server (port in use ?).", 0)
EndIf
End
Code: Alles auswählen
Datei.s = OpenFileRequester(Datei,"","",0)
If ReadFile(0,Datei) = 0
End
EndIf
lenFile = Lof(0)
*buffer = AllocateMemory(lenFile)
*pack = AllocateMemory(lenFile + 8)
ReadData(0,*buffer,lenFile)
lenPack = PackMemory(*buffer,*pack,lenFile,7)
If lenPack
MessageRequester("Info","Ratio: "+StrF(lenPack/lenFile))
Else
MessageRequester("Info","Weitere Komprimierung nicht möglich")
EndIf
; *pack -> Daten zu senden
If InitNetwork() = 0
MessageRequester("Error","Can't initialize the network!",0)
End
EndIf
Port = 6832
ConnectionID = OpenNetworkConnection("joel2.dyndns.org",Port)
If ConnectionID = 0
MessageRequester("Error","Can't connect to server...",0)
End
EndIf
SendNetworkString(ConnectionID,Str(lenFile + 8))
SendNetworkString(ConnectionID,GetFilePart(Datei))
SendNetworkData(ConnectionID,*pack,lenFile + 8)
CloseNetworkConnection(ConnectionID)
Code: Alles auswählen
If InitNetwork() = 0
MessageRequester("Error","Can't initialize the network!",0)
End
EndIf
Port = 6832
Buffer = AllocateMemory(1000)
*Video = AllocateMemory(3000000)
If CreateNetworkServer(0,Port)
MessageRequester("PureBasic - Server","Server created (Port "+Str(Port)+").",0)
Repeat
SEvent = NetworkServerEvent()
If SEvent
ClientID = EventClient()
Select SEvent
Case 1
MessageRequester("PureBasic - Server","Ein Client hat sich gemeldet.",0)
Case 2
MessageRequester("PureBasic - Server","Ein Client hat eine Roh-datei gesendet.",0)
ReceiveNetworkData(ClientID,Buffer,1000)
len = Val(PeekS(Buffer))
Buffer = ReAllocateMemory(Buffer,1000)
ReceiveNetworkData(ClientID,Buffer,1000)
Datei.s = PeekS(Buffer)
ReceiveNetworkData(ClientID, *Video, len)
CreateFile(0,Datei)
WriteData(0,*Video,3000000)
CloseFile(0)
EndIf
Case 3
MessageRequester("PureBasic - Server", "Ein Client hat eine Datei gesendet!",0)
SendNetworkString(ClientID, "Ja")
DateiName$ = SaveFileRequester("Bitte Datei zum Speichern auswählen", "C:\", "*.*", 0)
If DateiName$
ReceiveNetworkFile(ClientID, DateiName$)
EndIf
Case 4
MessageRequester("PureBasic - Server", "Die verbindung wurde beendet!", 0)
Quit = 1
EndSelect
EndIf
Until Quit = 1
MessageRequester("PureBasic - Server", "Click to quit the server.", 0)
CloseNetworkServer(0)
Else
MessageRequester("Error", "Can't create the server (port in use ?).", 0)
EndIf