Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Jpg copy ....

Frage Entwicklung C und C++

Mitglied: lowbyte1

lowbyte1 (Level 2) - Jetzt verbinden

10.08.2008, aktualisiert 03.07.2010, 5089 Aufrufe, 6 Kommentare

sorry edit..
Mitglied: lowbyte1
10.08.2008 um 17:30 Uhr
hello


ich möchte einfach ein jpg file im binary mod öffnen und dann zeichen weise in ein dynamisch alloziertes array einlesen.
so das ich dann die daten (array) senden kann per send().
Bitte warten ..
Mitglied: Dani
10.08.2008 um 17:54 Uhr
Hi Lowbyte,
was genau möchtest du mit diesem Feature bezwecken? So richig den Sinn kann ich nicht verstehen. Denn es gäbt da noch der copy - Befehl. *g*


Gruss,
Dani

P.S. In Zukmunft bitte die EDIT Funktion benutzen und nicht jedes Mal einen Comment schreiben.
Bitte warten ..
Mitglied: lowbyte1
10.08.2008 um 18:24 Uhr
hello


ich schreibe ein server / client und möchte nun jpg/exe usw. vom client zu server und umgekehrt schicken.

dazu muss ich doch das file im binary mod öffnen oder?

und dan möchte ich die datei in einer while schleife in ein dynamisch alloziertes array einlesen bis EOF ereicht ist.


und dan senden mit

rc=send(socket ,send_buf ,len,0);


ps:mit txt files funktioniert das wunderbar !


lowbyte
Bitte warten ..
Mitglied: Biber
11.08.2008 um 07:39 Uhr
Moin lowbyte1,

könnte es eventuell auch der function Send() liegen... die ist doch zum Senden von Nachrichten konzipiert und eher nicht zum Transport von Binärdaten, oder?

Wenn Du unbedingt eine eigen Implementierun eines filecopy()'s machen willst, dann solltest Du eventuell erwägen, zwei Filepointer zu eröffnen.
01.
#include <stdio.h> 
02.
#include <stdlib.h> 
03.
...  
04.
.. 
05.
FILE *fIn;                   // Filepointer für zu lesendes File 
06.
FILE *fOut;                // Filepointer für zu schreibendes File 
07.
...
Grüße
Biber
Bitte warten ..
Mitglied: lowbyte1
13.08.2008 um 14:36 Uhr
helo

wie soll ich dan das file vom server auf den client übertragen ?

mit send() denke ich!

also nochmal "bin ich den so schwer zu verstehen?"

ich habe einen server und einen client geschrieben.
jetz habe ich ein befehl implementiert der sich
#get nennt.
sample= #get c:\test.txt
wen ich diesen befehl sende erkennt das der server und springt in die put_file routine.
jetz öffnet der server das angeforderte file im binary mod und liest das file bis EOF in ein dynamisch alloziertes char array.danach sende ich den char vector ala... rc = send(socket ,send_buf ,len ,0);
danach erstellt der client im binary mod ein file und liest die daten vom recv_buf, die der server gesendet hat.

wie gesagt das ganze funktioniert mit txt dateien aber nicht mit binary files.allerdings öffnet der client und der server sie dann im ascii mode.



lowbyte
Bitte warten ..
Mitglied: lowbyte1
12.12.2008 um 16:14 Uhr
helo

so nun zu meinem emaligen problem.

da man ja nicht sicher sein kann das die send funktion wirklich alles gesendet hat wegn internem buffer.
musste ich dafür eine eigene send kontroll routine schreiben.

01.
 
02.
long send_data(s_socket ,s_len ,flag) 
03.
 
04.
05.
	long rc_2=0; 
06.
	long rc_3=0; 
07.
	long total=0; 
08.
 
09.
	// enc = crypt(&send_buf[0], s_len, ENCRYPT);                                          // Bitte nicht beachten ! 
10.
	// memcpy(&send_buf[0], enc.cryptstr , s_len);                                         // S-Encryption Funktion ! 
11.
 
12.
	do 
13.
14.
		rc_2 = (s_len - rc_3);								// Ganze Len - rc_3 = rc_2 
15.
												// rc_3 beim 1.t durchlauf 0 
16.
		rc_3 = send(s_socket ,&send_buf[rc_3] ,rc_2 ,flag);				// Bei der send() funktion muss selber	 
17.
		if(rc_3==SOCKET_ERROR) {							// geprüft werden ob alle Daten des  
18.
			printf("Send Fehler :%i", WSAGetLastError());				// send buffers gesendet wurden. 
19.
			closesocket(connectedSocket);						// Die anzahl der wirklich gesendeten 
20.
			getchar();								// zeichen kann man aus dem return wert 
21.
			exit(1);								// der send funktion entnehmen. 
22.
23.
 
24.
		total += rc_3;									// Return von rc_3 an total übergeben 
25.
															 
26.
27.
	while(total!=s_len);									// Wen total ungleich gesamt len dann 
28.
												// schleife widerholen und nicht 
29.
	s_len=0;										// gesendete zeichen nach senden. 
30.
 
31.
	return total; 
32.
 
33.
34.
 
35.
 
36.
 
37.
das gegenstuck .... 
38.
 
39.
 
40.
 
41.
long recv_data(s_socket ,r_len ,flag) 
42.
 
43.
44.
	long rc_2=0; 
45.
	long rc_3=0; 
46.
	long total=0; 
47.
 
48.
	do 
49.
50.
 
51.
		rc_2 = (r_len - rc_3); 
52.
 
53.
		rc_3 = recv(s_socket ,&recv_buf[rc_3] ,rc_2 ,flag); 
54.
		if(rc_3==SOCKET_ERROR) { 
55.
			printf("Recv Fehler :%i", WSAGetLastError()); 
56.
			closesocket(connectedSocket); 
57.
			getchar(); 
58.
			exit(1); 
59.
60.
 
61.
 
62.
		total += rc_3; 
63.
																 
64.
65.
	while(total!=r_len); 
66.
 
67.
	dec = crypt(&recv_buf[0], r_len, DECRYPT); 
68.
	memcpy(&recv_buf[0], dec.cryptstr , r_len); 
69.
 
70.
	r_len=0; 
71.
 
72.
	return total; 
73.
74.
 
75.
 
76.
 

mit dieser routine wird dieses problem efizient gelöst ..
ein binary file müsste man jetz blockweise einlesen und senden, da man ja nicht zbsp. ein 3 gb. file in ein dynamisch alokiertes array einlesen kann..

an alle die sich meine up and download routine ansehen möchten .. bitte posten
für kritik bin ich immer zu haben..

lowbyte
Bitte warten ..
Ähnliche Inhalte
Windows Server
Copy-VMFile
gelöst Frage von IT-twakWindows Server6 Kommentare

Hey, ich sitze jetzt an einem *.ps1 Script und würde gern folgendes realisieren: eine Datei von meinem Host auf ...

Grafik
Massenkonvertierung von .tif zu .jpg - Programm?
gelöst Frage von Ein-NameGrafik6 Kommentare

Hallo zusammen, ich habe ca. 2.000 tif-Bilder vorliegen, die ich allesamt in das jpg-Dateiformat umwandeln soll, ohne die Quelldateien ...

Windows Tools
JPG Dateien nicht zu öffnen
Frage von bytetixWindows Tools3 Kommentare

Hallo, habe einen Ordner mit Fotos von einer Party, alles im .jpg Format. Ungefähr 1/3 aller Bilder lassen sich ...

Netzwerkgrundlagen
Datenverkehr beim remote copy
Frage von lancelot2000Netzwerkgrundlagen4 Kommentare

Hallo, habe eine Frage. Wenn ich ein script auf meinem Rechner starte um Daten zweischen zwei remote computern zu ...

Neue Wissensbeiträge
Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 54 MinutenMac OS X

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser ereichbar sind. Leider fehlt ...

Datenschutz

Weitere Inforamtionen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 7 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 9 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 12 StundenMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1017 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...