Daten schneller übers Internet austauschen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Beitrag von Joel »

Wiso das nur nur so weil der Server Daten an den Client Sendet, und nicht umgekehrt sonst wüsste ich das ja.
Benutzeravatar
Eric
Beiträge: 303
Registriert: 05.09.2004 09:50
Wohnort: Göttingen

Beitrag von Eric »

Und was ist so schwer daran SendNetworkData anstatt ReceiveNetworkData in
dem Server zu benutzen?

Entweder du hast die Beschriftung in deinem Post vertauscht, oder dein Client
startet den Server.

Code: Alles auswählen

ClientID = EventClient()
      Select  ClientID
      Case 3 
ahja, du benutzt EventClient ohne einen Server zu starten und was erhoffst du
dir von dem Select ClientID? :?
El_Choni_work: cant't you just spit the binary data to sqlite, as you would spit a hamster into a microwave oven?
* Fangles falls off the chair laughing
Bild
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Beitrag von Joel »

Ja genau an dem Event... liegt das.

Also auf einem Computer läuft ein Programm der Versucht eine Verbindung zum anderen das auf einem anderen Computer mit der DNS ist aufzubauen., wenn das klappt sendet das andere Programm eine Datei. Wenn die gesendet wurde fährt der Computer herunter.

Ich hoffe das hilft ech weiter <) .
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Beitrag von Joel »

Das mit dem Event hab ich glaub ich jetzt kappiert aber es passiert trotzdem nichts.

Server:

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
        OpenWindow(0, 100, 150, 200, 200, "Server zum Herunterfahren")
        SendNetworkFile(ClientID, "C:\jo.txt")
        Repeat
    Until WaitWindowEvent() = #PB_Event_CloseWindow
       EndSelect
        EndIf
    
       Until Quit = 1 
        
         
         
         EndIf 

Client:

Code: Alles auswählen

If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf

Port = 6832
Repeat

ConnectionID = OpenNetworkConnection("127.0.0.1", Port)
If ConnectionID
EndIf 
Until ConnectionID = 1

  Repeat
  Client = NetworkClientEvent(ConnectionID) 
If Client

ServerID = EventServer()
  
      Select  Client
      Case 3
      
  ExitWindowsEx_(#EWX_POWEROFF,0)
  EndSelect
  
  
  
  
  EndIf 
  
  Until Client = 1
  
  CloseNetworkConnection(ConnectionID)

  
  
 


  
End   
Zuletzt geändert von Joel am 23.12.2008 21:34, insgesamt 1-mal geändert.
Slut-Hunter
Beiträge: 40
Registriert: 05.06.2006 12:38

Beitrag von Slut-Hunter »

Um zu konvertieren, und gleichzeitig schon zu verschicken, b.s.w zu Streamen musst du
Divx oder Xvid per Command Line ansteuern, und die "Packet Bitstream" Option von XVid einschalten(DivX dürfte auch irgendwo so was haben^^).

Damit die GOP(Group of Pictures) so abgeschlossen wird, daß man auf den schon vorhandenen Treil zugreifen kann.

Alles in allem ne Mordsarbeit.

Da hab ich nenn besseren Tip nimm XVid, mit den richtigen Einstellungen ist es spürbar schneller als DivX und eine bessere Kompression als DivX hats allemal.

Dann noch Virtual Dub Mod ziehen, den Clip reinladen.

Oben bei "Video" auf "Fast Recrompress", daß sorgt für 4-6 Bilder mehr pro Sekunde.

Codec usw für das Bild und den Ton wählen, und dann gehts rund.

Ich komm mit den richtigen Einstellungen, schon mal auf 30 Biler pro Sekunde mit meinem alten Amd xp 2700.
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Beitrag von Joel »

ok, aber das problem mit dem Code hab ich imernochnicht gelößt, ich hab den wieder verändert. Meine DNS und das portforwarding funktionier aber irgenwas ist noch falsch am Code.


Server:

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
        OpenWindow(0, 100, 150, 200, 200, "Server zum Herunterfahren")
        If SendNetworkFile(ClientID, "C:\jo.txt") = 1
        MessageRequester("Error", "Can't initialize movie playback !", 0)
        EndIf 
        End 
        Repeat
    Until WaitWindowEvent() = #PB_Event_CloseWindow
       EndSelect
        EndIf
       Until Quit = 1 
         EndIf 
Client:

Code: Alles auswählen

If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf
Port = 6832
  Repeat
  ConnectionID = OpenNetworkConnection("joel2.dyndns.org", Port)
If ConnectionID
EndIf 
Until ConnectionID = 1
Repeat 
  SEvent = NetworkClientEvent(ConnectionID)
    If SEvent
      ClientID = EventServer()
      Select SEvent
      Case 3
      MessageRequester("Error", "ok", 0) 
      End 
  ;ExitWindowsEx_(#EWX_POWEROFF,0)
  EndSelect
  EndIf 
  Until Case3 = 1
  CloseNetworkConnection(ConnectionID)
End   
Antworten