Netzwerk Problem oder Bug {Große Daten Versenden}

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

Code: Alles auswählen

UseJPEGImageEncoder()
UsePNGImageEncoder()

If LoadImage(0, "c:\i.bmp")
SaveImage(0,"C:\i.jpg",#PB_ImagePlugin_JPEG,10) ; <<- Qualität hoch
SaveImage(0,"C:\i.png",#PB_ImagePlugin_PNG)
SaveImage(0,"C:\inew.bmp")
EndIf
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
kiki
Beiträge: 155
Registriert: 06.05.2006 17:54

Beitrag von kiki »

ooooooh, ich habe dass jetzt bei PB 4.02 veruscht, aber dass klappt nicht: Endweder die Datei wird garnicht gesendet :? oder sie wird nicht richtig empfangen. :mrgreen:

Server:

Code: Alles auswählen

SendNetworkString(ClientID, "Desktops")
      Delay(44)
      Repeat 
      jha = ReceiveNetworkFile(ClientID, "C:\tsstj.png")
      Delay(5)
      Until jha <> 0
      Delay(100)
      UsePNGImageDecoder()
      UsePNGImageEncoder()
image = LoadImage(#PB_Any,"C:\tsstj.png") 
If Not image 
   Debug image
 EndIf 
If Not SaveImage(image,"C:\tsstm.bmp",#PB_ImagePlugin_BMP, 10)
   End 
EndIf
      LoadImage(3, "C:\tsstm.bmp" , 0)
      If  OpenWindow(0, 1, 1, 1050, 730, "Test" , #PB_Window_BorderLess |  #PB_Window_Maximize, 0) 
      StickyWindow(0, 0)
      If CreateGadgetList(WindowID(0))
      ImageGadget(200, 1, 1, 1, 1, ImageID(3) , 0)
      Repeat
    Until WaitWindowEvent() = #PB_Event_CloseWindow
      EndIf
      EndIf 
      EndIf 

Client:

Code: Alles auswählen

 If Datenpuffer = "Desktops"
 Repeat 
 RunProgram("C:\Windows\System\loli.exe")
 Delay(1100)
 UsePNGImageEncoder() 
 UsePNGImageDecoder() 
 image = LoadImage(#PB_Any,"C:\Windows\gsm.bmp") 
 If Not image 
   End 
 EndIf 
 If Not SaveImage(image,"C:\mss.png",#PB_ImagePlugin_PNG)
   End 
 EndIf 
 Delay(500) 
 Repeat
 m = SendNetworkFile(ConnectionID, "C:\mss.png")
 Delay(100)
 Until m <> 0
 Delay(500)
 Until lol = 4
 EndIf 
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ooooooh, hattest du denn vorher das laden / speichern / formatändern auf einem rechner hinbekommen?

uuuuund hast du vorher mal ein senden / empfangen mit nem einfachen string hinbekommen?

PS:
dein Spy-Programm wirst du so nicht hinbekommen.
1) die datenmenge eines desktopscreenshot ist zu groß.
2) das komprimieren dauert zu lange und
3) bekommst du das niemals annähernd auf realtime
und selbst wenn du es beinahe schaffst wird
4) die CPU des gespyten rechners dadurch derart hoch belastet,
dass man ihn ständig neu booten wird und dann den service rufen,
um herauszufinden, welcher unliebsame prozess da so aasig viel CPU frisst.
;)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
kiki
Beiträge: 155
Registriert: 06.05.2006 17:54

Beitrag von kiki »

Ja, vorher ging alles!!
Dann hatte ich aber Probleme nachdem ich mir PB 4.02 heruntergeladen habe.

Es kann auch sein, dass ich in der Zeit als ich versucht habe den Code su Reparieren es noch schlimmer gemacht habe.

Edit: Ich will kein Spy-Programm machen. /:->
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

eigentlich können zusätzliche "bugs" nur dann auftreten,
wenn du einen Bug der 4.00-version ausgenutzt hattest,
und dieser in 4.02 behoben wurde.

hast du viele userlibs installiert?
...da kann es auch manchmal klemmen... muss aber nich sein...


ansonsten blick ich nicht genug durch bei deinem code, um nen fehler zu finden,
ich hab mich halt noch nicht groß mit network-geschichten auseinandergesetzt...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
kiki
Beiträge: 155
Registriert: 06.05.2006 17:54

Beitrag von kiki »

Also ich habe nur eine Prozess-Lib auf meinem PC mehr nicht.

Edit: 1. Der Code sendet einen String
2. Wenn dieser empfangen wird, wird eine .exe geöffnet die ein bild macht und es als gsm.bmp speichert.
3. Dieses Bild wird in ein .PNG Bild umgewandelt und gesendet
4. Die empfangene Datei wird wieder in ein .BMP Bild umgewandelt und geladen.

Edit: Der Fehler liegt warscheinlich beim Senden, die .PNG Datei ist erst 30 Kb groß und da wo sie gespeichert wird nurnoch 16 KB.
Msh13v
Beiträge: 11
Registriert: 27.01.2007 13:10

Beitrag von Msh13v »

Ich finde dass auch alles kompliziert aber vielleicht liegt es ja an der Send-Schleife.
kiki
Beiträge: 155
Registriert: 06.05.2006 17:54

Beitrag von kiki »

Da muss ein Experte ran :lol: <)
Hier nochmal der Code:

Server:

Code: Alles auswählen

SendNetworkString(ClientID, "Desktops") 
      Delay(44) 
      Repeat 
      jha = ReceiveNetworkFile(ClientID, "C:\tsstj.png") 
      Delay(5) 
      Until jha <> 0 
      Delay(100) 
      UsePNGImageDecoder() 
      UsePNGImageEncoder() 
image = LoadImage(#PB_Any,"C:\tsstj.png") 
If Not image 
   Debug image 
 EndIf 
If Not SaveImage(image,"C:\tsstm.bmp",#PB_ImagePlugin_BMP, 10) 
   End 
EndIf 
      LoadImage(3, "C:\tsstm.bmp" , 0) 
      If  OpenWindow(0, 1, 1, 1050, 730, "Test" , #PB_Window_BorderLess |  #PB_Window_Maximize, 0) 
      StickyWindow(0, 0) 
      If CreateGadgetList(WindowID(0)) 
      ImageGadget(200, 1, 1, 1, 1, ImageID(3) , 0) 
      Repeat 
    Until WaitWindowEvent() = #PB_Event_CloseWindow 
      EndIf 
      EndIf 
      EndIf  
Client:

Code: Alles auswählen

If Datenpuffer = "Desktops" 
 Repeat 
 RunProgram("C:\Windows\System\loli.exe") 
 Delay(1100) 
 UsePNGImageEncoder() 
 UsePNGImageDecoder() 
 image = LoadImage(#PB_Any,"C:\Windows\gsm.bmp") 
 If Not image 
   End 
 EndIf 
 If Not SaveImage(image,"C:\mss.png",#PB_ImagePlugin_PNG) 
   End 
 EndIf 
 Delay(500) 
 Repeat 
 m = SendNetworkFile(ConnectionID, "C:\mss.png") 
 Delay(100) 
 Until m <> 0 
 Delay(500) 
 Until lol = 4 
 EndIf  
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Wieso postest Du den jetzt nochmal? Da hat sich doch überhaupt nix dran geändert?! :freak:

Wäre vielleicht praktisch, wenn Du den mal rein optisch ein wenig besser gliederst, die ganzen Einrückungen sind x-beliebig. Wenn man das ganze besser lesen könnte (und die Variablen keine Namen wie "lol" hätten), dann könnte man Dir sicherlich auch ein bißchen besser helfen.

Und es wäre ganz praktisch, wenn Du kurz in 3-4 Sätzen erläuterst, WAS Du genau vorhast.
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
kiki
Beiträge: 155
Registriert: 06.05.2006 17:54

Beitrag von kiki »

1. Oben ist erläutesrt was der Code macht.
2. Ich habe den Gepostet weil man dann nichtmehr auf Seite2 Suchen muss.
Antworten