Sieť v C-éčku

Ako mám pomocou C pristupovať k sieti? Napr. ak chcem ísť na ftp.server.sk, zapísať tam súbor x.txt a odísť. Ako to mám zapísať do jazyka C?
nevim, v c-cku se momentalne zacinam ucit delat, ale myslim, ze je nejlepsi si na to pujcit nejakou systemovou socks knihovnu a vyuzivat jeji funkce...
Jde to - winsock, sockety, vhodný je i multithreading. Zrovna teď na něčem síťovém taky chci dělat, takže budeme mít stejné problémy. Akorát, že už jsem to párkrát zkoušel. Já jsem postupoval podle tutoriálů z gametutorials.com, ale to ještě bylo v době, kdy to tam nebylo zpoplatněný. :_-(

Ale určitě na to najdeš tutoriály v google. ;) Horší to bude v linuxu, ale v tom to taky nějak půjde, jen to nebude winsock :)
řek bych, že v linuxu to bude snesitelný. viz fce bind, connect, accept, socket, listen, read,write,.... Dokumentace je celkem přehledná. Manuálový stránky postačej. Nebo se dá pohrabat ve zdrojáku nějakýho jednoduššího démona třebas cvsd, abys viděl, jak to funguje. Ale jináč pro přístup k FTP určitě existujou knihovny (viz PHP).
jojo, jak tu bylo řečeno, jde o otevření socketu. Tam se dá určit, jaký port se má otevřít a to je v podstatě vše. Zbytek zařizuje okolí.
a zdrojový kód by sa nenašiel? (aj s #include<xxx> keby bolo možné)
implementace FTP neni zas tak jednoducha, a zadnej free zdrojak nejspis ani neni (aspon ne windowsova verze), takze nejspis mas smulu

MzM:

>> určit, jaký port se má otevřít a to je v podstatě vše. Zbytek zařizuje okolí.
to me zajima, nechces se trochu rozepsat? jaky okoli?
Ved smostne programy vo wine (ftp.exe, telnet.exe, net.exe, ping.exe, ...) su naprogramovane v C, alebo nie? A aj niektore ine programy (neviem ci poznate NetCat) su napisane tez v C a dokonca som videl zdrojaky niektorych programov, ktore pracovali so sietou a boli v C.
------
A v pascale sa to da?
ftp - zdrojáky najdeš v balíčku binutils.
http://www.netsw.org/net/ip/filetrans/ftp/libftp/

http://www.netsw.org/

no. budeš to muset reimplementovat do widlic :)) jináč msdn je plná příkladů.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnanchor/html/anch_win32com.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/creating_a_socket.asp

je to podobný linuxu, takže s portováním by neměl být problém.
Zorro: Řeknu ti to tak. Z klientské stránky je práce se sítí podobná práci se souborem. Navazováním spojení otevíráš soubor (pajpu, socket) a z něj pak čteš (čekáš na data, která přijímáš), nebo zapisuješ (posíláš data). Ze stránku serveru je to horší, ten si musí přebrat, od koho mu co přišlo a komu co poslat.

Posuď sám, zda to zvládneš. Místo neustálého ptaní už sis mohl najít nějaký zdroják a napsat si něco podle něj.
A este nieco. Ako sa daju spravit tie prepinace ci co to je. Zadam do prikazoveho riadku napriklad: subor.exe -f -g -h -e -w. Ako to funguje?
to mጠ(teda u hlavičky main()) pod proměnnýma int argc a char *argv[]. Další potom by (myslimže) měl být char *argv[1](to nevím ale jistě). Nejlépe poslouží ukázka... (je vystřižená z Bloodsevskýho Dev-C++;))

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
system("PAUSE");
return EXIT_SUCCESS;
}
na parametry se v linuxu používá funkce. teď si nevzpomenu jaká... Pak se to rozhazuje pomocí switch() a case. Dá se tak udělat i dlouhá verze tj. --file, --output atd. Bohužel nevím, jak se ta fce jmenuje. Ale najdeš ji třebas ve zdrojáku pingu. (balíček netkit).
Ja som v C zaciatovnik (ale ovladam PHP a Php a C su podobne), preto keby niekdo napisal kod ktory by po zadani prepinaca e (subor -e) vypisal na obrazovku "ahoj" a pri prepinaci x (subor -x) by napisal "ako sa mas"
A este nieco... kde zozeniem zdrojaky tych programov (ftp, telnet, ping).
Zoro, to by nemelo byt tak tezke. Je to akorat prace s argv a argc

#include <stdio.h>
#include <stdlib.lib>
#include <string.h>

int main (int argc, char argv) {
int exit_value;

exit_value = 0; // 0 - ok, cokoli jineho err
if ( argc > 0 ) {
// budu uvazovat jenom jeden argument
if ( argv[1][0] != '-' ) {
printf("%s: error, nejaky mismas, ne?\n", argv[0]); // v argv[0] je nazev programu
exit_value = 1;
} else {
if ( strpos(argv[1], 'e') != -1 ) {
printf("e - ahoj\n");
} else if ( strpos(argv[1], 'x') != -1 ) {
printf("x - ako sa mas\n");
}
exit_value = 0; // kapkku zbytecne, ale pro ilustraci
}
exit(exit_value);
}
A ako funguju tie sietove funkcie? (mimochodom ten zdrojak co si mi dal nejde skompilovat - skusal som dva rozne kompilatory, ale vypisuje chybu tusim v riadku 23)
No jasne zorro, ja to budu psat do wz a jeste ti to budu prohanet kompilatorem. Se trochu posnaz...
ano, mam sa snazit? a co si mam ten prikaz vymisliet?
---
Tak neviete aspon o nejakom dobrom C/C++ manuale kde by boli rozpisne vsetky funkcie (nieco ako ten PHP manual "php_manual_cs.chm", ale o jazyku C)?
nejlepší manuál sou zdrojový kódy :)
Zorro: zkus MSDN, nebo prostě google. C umí skoro každej :-)))
Ja nepotrebujem manualy, tych je dost... Mne by sa zislo skor neco take ako je v manuale PHP. Tam sa to vola "Function Index", kde su rozpisane vsetky prikazy do php. Neexistuje neco take aj na C (alebo C++)?