Eine (jetzt einen Ordner)via Internet zum Empfänger senden?

Für allgemeine Fragen zur Programmierung mit PureBasic.
ChrisBa
Beiträge: 50
Registriert: 22.07.2006 12:14

Eine (jetzt einen Ordner)via Internet zum Empfänger senden?

Beitrag von ChrisBa »

Nachdem ich mich nun ein bisschen mit Purebasic befasst habe wollt ich etwas ausprobieren.
Nämlich das mir jemand eine Datei direkt zu mir schickt.
z.B ich gebe ihm einen exe-datei und durch öffnen dieser datei wird eine datei von ihm (die mir bekannt ist wo sie sich befindet) direkt via internet zu mir geschickt ohne das mein freund etwas maachen braucht außer die Exe zu öffnen.
leider weiß ich echt nicht wie das gehen soll.
könnt ihr mir dabei helfen?
meine internetIP werd ich so einstellen das sie eine feste Nummer ist die sich nur ändert wenn ich es will.
was nun?
wie sieht das ganze aus???

Ich bedanke mich schonmal herzlich an euer Hilfsberietschaft

EDIT: Bitte letzten Eintrag anschauen
Zuletzt geändert von ChrisBa am 06.08.2006 17:28, insgesamt 1-mal geändert.
Benutzeravatar
Frogger
Beiträge: 425
Registriert: 14.03.2006 19:27
Kontaktdaten:

Beitrag von Frogger »

Mhh hört sich für mich irgendwie nach Spyware an :?
Hast du dir die Network-Befehle in der PB-Hilfe angeschaut?
Mehr brauchst du dafür nicht.
[PB4.20]
ChrisBa
Beiträge: 50
Registriert: 22.07.2006 12:14

Beitrag von ChrisBa »

also keine Sorge
is keine Spyware
und in der PBHilfe hab ich schon reingeschaut
zwar gibts da Befehle nur die versteh ihren sinn nict so ganz
und erklärt werden die leider dort nicht genug.
daher hab ich auch hier reingeschrieben
Benutzeravatar
Frogger
Beiträge: 425
Registriert: 14.03.2006 19:27
Kontaktdaten:

Beitrag von Frogger »

Guck dir im "Examples" Verzeichnis die dateien "NetworkClient.pb" und "NetworkServer.pb" an.
Benutze statt "SendNetworkString(...)" den Befehl "SendNetworkFile(...)".
Den Server-Code musst du auch ein wenig umschreiben
[PB4.20]
ChrisBa
Beiträge: 50
Registriert: 22.07.2006 12:14

Beitrag von ChrisBa »

vielen dank
werd mir das mal angucken und schreib morgen im forum rein wenns noch probleme gibt
danke
ChrisBa
Beiträge: 50
Registriert: 22.07.2006 12:14

Beitrag von ChrisBa »

habs mal ausprobiert und scheint alles soweit klar zu sein.
aber als frage
wie würde der code aussehen damit mir min Freund die Datei zuschickt?
also der code für den server und der code für den clienten
als beispiel:
die datei von meinem Freund C:\1\test.txt
und da wo sie dann geschickt werden soll C:\
meine Internet IP sagen wir mal beispielsweise ist 821.22.339.22(beispiel)
wie muss das ganze ausssehen?
ChrisBa
Beiträge: 50
Registriert: 22.07.2006 12:14

Beitrag von ChrisBa »

habs leider immnoch nicht rausgefunden
wo muss ich denn die Ip ändern?
oder gleich wie sieht das ganze fertig aus???
ChrisBa
Beiträge: 50
Registriert: 22.07.2006 12:14

Beitrag von ChrisBa »

kann mir da keiner helfen?
ChrisBa
Beiträge: 50
Registriert: 22.07.2006 12:14

Beitrag von ChrisBa »

nun gut
vielleicht hab ich da etwas zu viel verlangt
ich hab nun lang versucht wie ich das zum laufen bringe
so sieht der Client aus:

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("192.168.0.2", Port)
If ConnectionID
  MessageRequester("PureBasic - Client", "Client connected to server...", 0)
  
  SendNetworkFile(ConnectionID,"C:\1\test.txt")
    
  MessageRequester("PureBasic - Client", "A string has been sent to the server, please check it before quit...", 0)
  
  CloseNetworkConnection(ConnectionID)
Else
  MessageRequester("PureBasic - Client", "Can't find the server (Is it launched ?).", 0)
EndIf
  
End   
ich habe dort nur SendNetworkFile(ConnectionID,"C:\1\test.txt") verändert damit ich die Datei zugeschickt bekomme

und so sieht der Server aus:

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 2
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a packet !", 0)
          ReceiveNetworkFile(ClientID,"C:\1")
          MessageRequester("Info", "String: "+PeekS(Buffer), 0)
  
        Case 3
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a file via the network !", 0)
          ReceiveNetworkFile(ClientID, "C:\TEST_Network.ftp3")
  
        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   
da hab ich nur das verändert ReceiveNetworkFile(ClientID,"C:\1")

aber es geht auch fast alles,verbindet und alles wunderbar nur mir wird keine datei zugeschickt.
wo ist der fehler im Code?

Edit:hab die Beispiele von Purebasic genommen und nur die beiden Sachen verändert,und die IP: 192.168.0.2

EDIT: gelöst
Zuletzt geändert von ChrisBa am 06.08.2006 17:32, insgesamt 1-mal geändert.
ChrisBa
Beiträge: 50
Registriert: 22.07.2006 12:14

Beitrag von ChrisBa »

So
ich hab nun vieles rausgefunden und will mich nochmal bei euch allen bedanken dass ihr mir super gut geholfen habt.
Mein porblem ist diesmal, dass ich keinen Code finde,der anstatt eine einzelne Datei, einen ganzen Ordner via Netzwerk verschickt.
Gibt es den code?oder gibt es dazu was ganz anderes?
vielen dankim voraus
Antworten