Seite 4 von 6

Verfasst: 30.01.2007 21:14
von Kaeru Gaman
> Was werden denn hier für seltsahme bemerungen über mich losgelassen????

:lol:
?ZUVIELEFINGERAUFDENTASTEN ERROR

Verfasst: 30.01.2007 21:18
von Joel
Kaeru Gaman hat geschrieben:> Was werden denn hier für seltsahme bemerungen über mich losgelassen????

:lol:
?ZUVIELEFINGERAUFDENTASTEN ERROR
:lol:
ZUVIELEFINGERAUFDENTASTEN ERROR

Verfasst: 30.01.2007 21:21
von Kaeru Gaman
Joel hat geschrieben:
Kaeru Gaman hat geschrieben:> Was werden denn hier für seltsahme bemerungen über mich losgelassen????

:lol:
?ZUVIELEFINGERAUFDENTASTEN ERROR
:lol:
ZUVIELEFINGERAUFDENTASTEN ERROR
UNCALLED RECURSION

MATRIX BROKEN

REALITY WILL RESET IN 5

4

3

2

1

Verfasst: 30.01.2007 21:28
von Joel
Kaeru Gaman hat geschrieben:
Joel hat geschrieben:
Kaeru Gaman hat geschrieben:> Was werden denn hier für seltsahme bemerungen über mich losgelassen????

:lol:
?ZUVIELEFINGERAUFDENTASTEN ERROR
:lol:
ZUVIELEFINGERAUFDENTASTEN ERROR
UNCALLED RECURSION

MATRIX BROKEN

REALITY WILL RESET IN 5

4

3

2

1

:lol: Du musst den Prozess beenden!!!!! *Schnell*

Verfasst: 04.02.2007 15:26
von kiki
Wenn ich generell, große .Pak Dateien die größer als 500 KB sind versende wird die Datei nicht richtig empfangen.

Hier der Code, daran liegts wahrscheinlich nicht aber ich Poste in trotzdem mal.

Server:

Code: Alles auswählen

;
; ------------------------------------------------------------
;
;   PureBasic - Network (Server) example file
;
;    (c) 2003 - Fantaisie Software
;
; ------------------------------------------------------------
;

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", "A new client has connected !", 0)
  
  
        Case 3
          MessageRequester("Hinweis", "Case 3", 0)
        Repeat
          m = ReceiveNetworkFile(ClientID, "D:\Speicher.pak")
         Debug m
         Until m <> 0
          MessageRequester("Hinweis", "Versend Fertig", 0)
  
        Case 4
         MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has closed the connexion...", 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   

Client:

Code: Alles auswählen

;
; ------------------------------------------------------------
;
;   PureBasic - Network (Client) example file
;
;    (c) 2003 - Fantaisie Software
;
; ------------------------------------------------------------
;


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

Port = 6832

ConnectionID = OpenNetworkConnection("127.0.0.1", Port)
If ConnectionID
  Delay(1000)
  Repeat
  s = SendNetworkFile(ConnectionID, "D:\test.pak")
  Until s <> 0
  
  

  Delay(7000)
Else
  MessageRequester("PureBasic - Client", "Can't find the server (Is it launched ?).", 0)
EndIf
  
End   

Verfasst: 04.02.2007 15:54
von Joel
Vielleicht ist das ja ein BUG, es kann ja sein dass PB keine größeren .Pack Dateien Versenden kann. Oder es kann auch sein dass es nie große Daten egalin welchem Format versendet. Ob das auch mit dem Arbeitsspeicher zusammenhängt weiß ich nicht.

Verfasst: 04.02.2007 18:36
von Joel
Ich habe den Fehler entdeckt.

Ganz einfach, Der ReceiveNetworkFile() Befehl wartet bis die Datei gesendet wird. Aber bei SendNetworkFile() ist das anders, da wird so eine Art Verknüpfung aufgebaut und der Code wird ausgeführt. Wenn dannach dann ein "End" steht ist das Programm zu Ende und der Versand ist unterbrochen.

Also dannach ein Delay(70000) machen oder ähnliches und schon ist alles ok.

Ich frage mich nur warum SendNetworkFile() Nicht auch Wartet wie ReceiveNetworkFile() .

Verfasst: 04.02.2007 19:14
von ts-soft
@kiki
sieht schon besser aus :wink:
einfach machen kannste es Dir hiermit: http://www.purebasic.fr/german/viewtopi ... r&start=10

Verfasst: 04.02.2007 19:57
von kiki
Vielen Dank, jetzt klapts.

Aber ein Problem ist nochnicht gelöst, warum werden große Dateien nicht besendet bzw. 0 Zurückgegeben?

Ich meine Dateien die 400 MB oder größer sind.

Verfasst: 07.02.2007 03:41
von cyan
Joel hat geschrieben: Also dannach ein Delay(70000) machen oder ähnliches und schon ist alles ok.
ehm, dass glaub ich nicht, da delay() das ganze programm stoppt, und dann gar nichts mehr passiert (oder irre ich mich in dem fall?)... und wenn überhaupt müsste man ja dauernd delay() parameter berechnen oO

achja, kommt mir das nur vor uns sind kiki und joel die selben personen? zumindest schaut das in den 2 links von kiffi fast danach aus (joel: "ich hab ein problem mit ner bestimmten API" - kiffi, nachdem länger keiner geantwortet hat "ja, ein schweres problem... würd mich auch interessieren")
naja, mir soll's egal sein... selten soviel spaß um die uhrzeit gehabt =)