TCP szerver készítése
|
|
- Artúr Hajdu
- 8 évvel ezelőtt
- Látták:
Átírás
1 TCP szerver készítése Mérési segédlet Informatika 2 A labor feladat célja, hogy a hallgatót megismertesse a TCP/IP protokollt használó programok készítésével. Ezen belül bemutatásra kerül a Berkley Socket API, amelynek segítségével lehetővé válik a hálózati kommunikáció implementálása Linux/Unix és MS Windows rendszereken. A labor elvégzéséhez szükséges a C programozói tudás! A Berkeley socket API ismertetése A következő fejezetekben a Berkeley socket API használatába tekintünk be. Ennek használatával lehetséges a Linux/Unix és MS Windows rendszereken a hálózati kommunikáció implementálása. A socket A socket az applikációk közötti kommunikációt lehetővé tévő kétirányú kapcsolat elnevezéseként értelmezhető. Tulajdonképpen egy SOCKET típusú leíró 1, amelyet létre kell hoznunk, majd az egyes rendszerhívásoknál ezzel hivatkozhatunk az adott kommunikációs csatornára. Új socketeket a socket() rendszerhívással hozhatunk létre. Létrehozáskor a sockethez egy protokollt rendelünk, amelyet az majd használni fog. Azonban ebben az állapotban a socket még nem kapcsolódik sehova, ezért kommunikációra még nem használható. SOCKET socket(int domain, int type, int protocol); A függvény 0-nál kisebb értékkel tér vissza hiba esetén. Ha sikeres, akkor egy socket leíróval, amely 0 vagy nagyobb érték. A három paraméter a használandó protokollt definiálja. Az első (domain) megadja a protokoll családot. A következő táblázat néhány lehetséges értékét tartalmazza. Protokoll PF_UNIX, PF_LOCAL PF_INET PF_INET6 Jelentés Unix domain (gépen belüli kommunikáció) IPv4 protokoll IPv6 protokoll A következő paraméter (type) kiválasztja a protokoll családon belül a kommunikáció típusát. Lehetséges értékei az alábbiak: 1 Linux alatt: int típusú 1
2 Típus SOCK_STREAM SOCK_DGRAM SOCK_SEQPACKET SOCK_RAW SOCK_RDM Jelentés Sorrendtartó, megbízható, kétirányú, kapcsolatalapú bájtfolyam-kommunikációt valósít meg. Datagramalapú (kapcsolatmentes, nem megbízható) kommunikáció. Sorrendtartó, megbízható, kétirányú, kapcsolatalapú kommunikációs vonal, fix méretű datagramok számára. Nyers hálózati protokoll hozzáférést tesz lehetővé. Megbízható datagramalapú kommunikációs réteg. (Nem sorrendtartó.) A harmadik paraméter (protocol) a protokoll család kiválasztott típusán belül választ ki egy protokollt. Mivel egy protokoll családon belül egy kommunikáció típust többnyire csak egy protokoll implementál, ezért a tipikus értéke: 0 Példa Az alábbi példa egy TCP socketet hoz létre: SOCKET sock; if((sock = socket(pf_inet, SOCK_STREAM, 0)) < 0) perror("socket"); A kapcsolat felépítése Ha összeköttetés-alapú kommunikációt szeretnénk folytatni egy kliens és egy szerver program között, akkor ehhez stream jelegű socketet kell létrehoznunk. Azonban ez önmagában nem elegendő a kommunikációhoz. Össze kell kapcsolnunk a két fél socketét, hogy adatokat vihessünk át rajta. Ennek a kapcsolat felépítésnek a részleteit a következő ábrán láthatjuk. Kliens Szerver socket() socket() bind() listen() connect() accept() Kapcsolat létrejött 1. ábra A socket kapcsolat felépítése 2
3 Az ábrán a kliens és a szerver oldalon egymás után meghívandó függvények láthatóak. Elsőre látható, hogy a kapcsolat felépítési mechanizmus aszimmetrikus. A szerver oldalon a feladat, hogy egy bizonyos címen várja a program a kapcsolódási igényeket, majd amikor ezek befutnak, akkor kiépítse a kapcsolatot. A kliens oldalon ezzel szemben a feladat azl, hogy a szerver címére kapcsolódási kérést küldjünk, amelyre az reagálhat. Ezen feladatok végrehajtását tekintsük át lépésenként. Szerver: 1. A szerver oldalon létre kell hoznunk egy socketet, amelyet a későbbiek során szerver socketként fogunk használni. A szerver socket kommunikációra nem alkalmas, csak kapcsolatok fogadására. 2. Össze kell állítanunk egy cím struktúrát, amelyben leírjuk, hogy a szerver hol várja a kapcsolódásokat. 3. Az előbbi lépésben összeállított címhez hozzá kell kötnünk a socketet. 4. Be kell kapcsolnunk a szerver-socket módot, vagyis hogy a socket várja a kapcsolódásokat. 5. Fogadnunk kell az egyes kapcsolódásokat. Ennek során minden kapcsolathoz létrejön egy kliens socket, amely az adott féllel való kommunikációra használható. Kliens: 1. A kliens oldalon is létre kell hoznunk socketet. Ezt az előző esettől eltérően kliens-socketként, a kommunikációra fogjuk használni. 2. Össze kell állítanunk egy cím struktúrát, amelyben leírjuk, hogy a szerver milyen címen érhető el. 3. Kapcsolódnunk kell a szerverhez. Amikor ez a kapcsolat létrejött, akkor a továbbiakban a socket képes továbbítani az adatokat. A következőkben áttekintjük, hogy az egyes lépések milyen függvények segítségével valósítható meg. Azonban mivel a feladat szerver készítése, ezért a szerver lépéseire koncentrálunk első sorban. Cím összeállítása Mielőtt a cím összeállításra rátérnénk meg kell vizsgálnunk egy problémát. A címek összeállítása során több bájtos adattípusokat használunk (pl.: IPv4 cím 4 bájtos long, a port szám 2 bájtos short). Azonban az egyes processzorok különböző módon tárolják az egyes adattípusokat. Két tárolási mód terjedt el: a big endian, amely a magasabb helyi értékű bájttal kezdi a tárolást, illetve ennek ellentéte a little endian. Big endian architektúra például a Sun Sparc, little endian pedig az Intel x86. Azonban a hálózaton ezeknek a különböző architektúráknak is meg kell érteniük egymást, ezért közös adatábrázolásra van szükség. Ezt nevezzük hálózati bájt-sorrendnek, amely a big endian ábrázolást követi. Az adott architektúrán használt ábrázolást pedig hoszt bájt-sorrendnek. A két ábrázolás közötti váltásokat a következő függvények végzik: Függvény Jelentés ntohs Egy 16-bites számot a hálózati bájt-sorrendből a hoszt bájt-sorrend sorrendjébe vált át. ntohl Egy 32-bites számot a hálózati bájt-sorrendből a 3
4 htons htonl hoszt bájt-sorrendjébe vált át. Egy 16-bites számot a hoszt bájt-sorrendjéből hálózati bájt-sorrendbe vált át. Egy 32-bites számot a gép bájt-sorrendjéből hálózati hoszt bájt-sorrendbe vált át. Azokon az architektúrákon, ahol szükséges a konverzió ezek a függvények megfordítják a bájt-sorrendet, ahol pedig nem, ott csak visszaadják a paraméter értékét. A címábrázoláshoz a socket API a következő általános struktúrát alkalmazza: struct sockaddr unsigned short sa_family; /* címcsalád, AF_xxx */ char sa_data[14]; /* 14 bájtos protokoll cím */ ; A címet használó függvények paraméterként ilyen típust várnak. Azonban egyes protokollokhoz létezik ennek specializált változata is, amely az adott protokoll esetén könnyebben használható. IPv4 esetén ez a következő képen néz ki: struct sockaddr_in unsigned short int sin_family; /* Címcsalád = AF_INET */ unsigned short int sin_port; /* A port száma */ struct in_addr sin_addr; /* IP cím */ unsigned char sin_zero[8]; /* struct sockaddr vége */ ; Ezen belül az in_addr struktúra az alábbi: struct in_addr unsigned long int s_addr; Ebben helyezhetjük el a cím egyes bájtjait. Ne feledjük, hogy mind a címnek, mind a portnak hálózati bájtsorrendűnek kell lennie, ezért a korábban látott htonl() illetve htons() függvényeket kell használnunk a konverziójukhoz. A szerver esetén a cím beállításnál valójában csak a portot kell megadnunk, míg a címre használhatjuk az INADDR_ANY makrót. Ez valójában a címet jelenti, amely azt mondja meg, hogy minden hálózati interfész adott portján várjuk a kapcsolódást. Példa Az alábbiakban két példát láthatunk a cím összeállítására. Az első példában egy szerver számára állítjuk össze a címhez kötéshez a cím struktúrát. A példában a szerver a számítógép össze hálózati interfészén az 1234-es porton lesz majd elérhető: sockaddr_in addr; 4
5 addr.sin_family = AF_INET; addr.sin_addr.s_addr = INADDR_ANY; addr.sin_port = htons(1234); A másik példa azt mutatja meg, hogy hogyan állíthatjuk össze a kliensben a címstruktúrát, amiben a szerver címe szerepel. A szerver IP címe esetünkben és portja 1234 lesz: sockaddr_in addr; addr.sin_family = AF_INET; addr.sin_addr.s_addr = inet_addr(" "); addr.sin_port = htons(1234); A socket címhez kötése Az előző lépésben összeállított címet hozzá kell rendelnünk a sockethez. Ezt a műveletet kötésnek nevezzük, és a következő rendszerhívással lehet végre hajtani: int bind(socket sock, struct sockaddr *my_addr, socklen_t addrlen); Az első paraméter a socket leírója, a második a címet leíró struktúra, az utolsó a címet leíró struktúra hossza. A visszatérési érték sikeres végrehajtás esetén 0, egyébként pedig mínusz érték. Példa Az alábbi példában a korábban összeállított címmel hajtjuk végre a címhez kötés műveletét: if(bind(sock, (struct sockaddr*)&addr, sizeof(addr)) < 0) perror("bind"); A szerver mód bekapcsolása A címhez kötés után a socketet szerver módba kapcsolhatjuk. Ez után már kapcsolódhatunk hozzá klienssel. A szerver módba kapcsolást a következő rendszerhívással végezhetjük el: int listen(socket sock, int backlog); Az első paraméter a socket leírója. A második paraméter, a backlog megadja, hogy hány kapcsolódni kívánó socket kérelme után utasítsa vissza az újakat. Ebbe csak azok a kapcsolódó socketek számítanak bele, amelyeket még nem fogadott a szerver. A visszatérési érték sikeres végrehajtás esetén 0, egyébként pedig mínusz érték. 5
6 Példa A korábban már címhez kötött socketet az alábbi módon kapcsolhatjuk szerversocket módba: if(listen(sock, 5) < 0) perror("listen"); Kliensek kapcsolódásának fogadása A kliensek kapcsolódását a következő rendszerhívás fogadja: SOCKET accept(socket sock, struct sockaddr *addr, socklen_t *addrlen); Az első paraméter a szerver socket leírója. Az addr és addrlen paraméterekben a másik oldal címét kapjuk meg. Az addrlen egy integer szám, amely megadja az addr változó méretét. Amennyiben nem vagyunk kíváncsiak a csatlakozó kliens címére, akkor az addr és addrlen paramétereknek megadhatunk NULL értéket. A függvény visszatérési értéke az új kapcsolat leírója, egy kliens socket. A későbbiekben ezt használhatjuk a kommunikációhoz. Ha a visszatérési érték 0-nál kisebb, akkor hibát jelez. Kapcsolódás a szerverhez A kliens oldalon a cím összeállítása után kapcsolódnunk kell a szerverhez. Ezt a következő rendszerhívással tehetjük meg: int connect(socket sock, struct sockaddr *addr, socklen_t addrlen); Az első paraméter a kliens socket leírója. Az addr és addrlen paraméterekben a szerver címét adjuk meg. Az addr paraméter tartalmazza a címet, míg az addrlen az addr paraméterben átadott cím méretét kell, hogy megadja. A függvény 0 értékkel jelzi a sikeres végrehajtást, míg mínusz értékkel a hibát. Példa A korábbi példában összeállított szerver címre a kapcsolódást az alábbi példa mutatja be: if(connect(sock, (struct sockaddr*)&addr, sizeof(addr)) < 0) perror("connect"); 6
7 Adatok küldése és fogadása A kliens és a szerver program összekapcsolt kliens socketét egy kétirányú csővezetéknek tekinthetjük, amelyen bájtokat küldhetünk és fogadhatunk. Az adatok küldésére a következő rendszerhívást használhatjuk: int send(socket s, const void *msg, size_t len, int flags); Az első argumentum a socket leírója, a második az elküldendő adat pufferére mutató pointer, a harmadik az elküldendő adat mérete. A flags paraméter a kommunikáció jellegét módosító beállításokat tartalmazhat. A gyakorlat keretein belül használjuk a 0 értéket. A függvény visszatérési értéke tartalmazza az elküldött bájtok számát. A mínusz érték a hibát jelzi. Adatokat a recv() rendszerhívással fogadhatunk. Ez a függvény addig nem tér vissza, amíg valamilyen információ nem érkezik. Az alakja a következő: int recv(socket s, void *buf, size_t len, int flags); Az első paraméter itt is a kliens socket leírója, a második a fogadó puffer mutatója, a harmadik pedig a puffer mérete. A flags paraméter itt is a kommunikáció jellegét módosító beállításokat tartalmazhat, azonban jelenleg használjuk a 0 értéket. A függvény visszatérési értéke a beolvasott bájtok számát tartalmazza. Ez kisebb vagy egyenlő azzal, amit mi puffer méretnek megadtunk. Figyeljünk arra, hogy a puffer tartalmából csak annyi bájt a hasznos információ, amennyit ez a visszatérési érték megad. Ha a visszatérési érték 0, akkor az azt jelzi, hogy a kapcsolat lezárult. Ebben az esetben befejeződött a kommunikáció és le kell zárnunk a socketet. Ha a visszatérési érték mínusz szám, akkor az hibát jelez. A kapcsolat lezárása A kapcsolatot a következő rendszerhívással zárhatjuk le 2 : int closesocket(socket s); A paraméter a socket leírója. A visszatérési érték sikeres végrehajtás esetén 0, egyébként pedig mínusz érték. Ellenőrző kérdések 1. Mi a különbség a szerver és a kliens socket között? 2. A cím összeállításánál miért szükséges a számokat konvertálni? 3. Miért szükséges a szerver socketet címhez kötni és miért nem kell a kliens socketet? 4. Az accept() függvény meghívásakor mi történik, ha éppen nincs bejövő kapcsolat? 5. A kommunikációs kapcsolatot hogyan zárhatja le a kliens, illetve a szerver oldal? 2 Linux alatt: int close(int s); 7
8 6. Írjon C nyelvű kódrészletet, amely az s leíróval reprezentált kliens socketből képes 16 byte adat fogadására! 7. Írjon C nyelvű kódrészletet, amely az s leíróval reprezentált kliens socketen keresztül elküldi a hello stringet! 8. Írjon C nyelvű kódrészletet, amely megvizsgálja, hogy az str1 és str2 nevű karakter tömbök tartalma megegyezik-e! 9. Írjon C nyelvű kódrészletet, amely megvizsgálja, hogy az str1 nevű karakter tömb tartalmazza-e az str2 nevű karakter tömb értékét! 10. Írjon C nyelvű kódrészletet, amely megvizsgálja, hogy az str1 nevű karakter tömb tartalmazza-e a ch nevű karaktert! A feladat A gyakorlat során a hallgató feladata, hogy elkészítsen egy TCP szerver applikációt C nyelven, amely a következőket teljesíti: Egy paraméterként megadott TCP porton fogadja a kliensek kapcsolódásait! Vagyis megvalósítja azokat a funkciókat, amelyeket a szerver esetén a segédlet leír. Egy kapcsolat fogadása után elegendő, ha csak az adott klienssel foglalkozik. Azonban amikor lezárul a kapcsolat, akkor fogadja új kliens kapcsolódását! A klienssel való kommunikáció során elvégzendő műveleteket a gyakorlatvezető ismerteti! 8
9 Függelék A MS Windows segítség Az MS Windows alatti fejlesztést MS Visual Studio program használatával végezzük. A project létrehozásakor célszerű az üres C++ alkalmazás választani kiindulási pontnak. A program lefordítása és futtatása Az elkészült program lefordításához szükséges a ws2_32.lib könyvtár állomány használata, mert különben a hálózatkezelő függvényeink implementációját a linker nem találja meg. Vagyis a project beállításainál a linkelés parancssorához vegyük hozzá a ws2_32.lib állományt. A programot paraméterezve kell futtatnunk. Ennek legegyszerűbb módja, ha nyitunk egy parancsterminált (cmd.exe). Megkeressük a lefordított exe állományt és lefuttatjuk. Paraméterként meg kell adnunk a port számát. A szerver kipróbálása Az elkészült TCP szerver programot a telnet program segítségével próbálhatjuk ki, amely egy TCP kliens. A telnet program használatához egy command prompt-ot kell nyitnunk. Ezt kétféle módon tehetjük. A Start / Programs / Accessories / Command Prompt menüpont segítségével, vagy a Start / Run menüpont kiválasztásával és a cmd parancs lefuttatásával. A command prompt ablakban kell kiadnunk a telnet parancsot. Első paraméterként meg kell adnunk a szerver gép nevét, amely lokális futtatás esetén localhost, második paraméterként pedig a szerver portját. Például: telnet localhost 1234 A program jelzi, ha nem sikerül kapcsolódnia a szerverhez. Ha a kapcsolat felépült, akkor a begépelt sorokat elküldi a szerver programnak. A telnet program MS Windows implementációja karakterenként küldi el azt, amit begépeltünk, így a szervernek egyből reagálnia kell minden karakter után. A program váza Az alábbi C (C++) nyelvű programváz segítséget nyújt a fejlesztés elkezdéséhez MS Windows alatt: #include <stdio.h> #include <winsock2.h> int main(int argc, char* argv[]) WSADATA wsd; if(wsastartup(0x0202, &wsd)!= 0) perror("wsastartup"); if(argc < 2)
10 printf("hasznalat: %s port\n", argv[0]); //TODO WSACleanup(); return 0;
11 Függelék B Linux segítség A feladat megvalósításához szükség van egy terminál, egy szövegszerkesztő, és a gcc program használatára. Szövegszerkesztőnek a kwrite program használata javasolt, mivel kezelőfelülete egyszerű és rendelkezik szintaxis kiemelő funkcióval. Az alábbiakban ismertetett parancsokat a terminál ablakba kell beírni. A programozói segítség Az egyes rendszerhívásokról és C függvényekről a man parancs segítségével angol nyelvű segítséget érhetünk el. Ennek formája: Rendszerhívások esetén: man 2 rendszerhívás C függvények esetén: man 3 C-függvény A program lefordítása és futtatása Az elkészült forráskódot a gcc parancs segítségével fordíthatjuk le. Ennek paraméterezése a következő: gcc -Wall -o kimenet forrás.c A fordító sikeres fordítás esetén nem ír ki semmit, csak előállítja a futtatható program kódot. Probléma esetén a problémákat három csoportra oszthatjuk: Típus Figyelmeztetés (warning) Fordítási hiba (compiler error) Linker hiba (linker error) Leírás A jelzett sor szintaktikailag nem hibás, de érdemes ellenőrizni, mert elvi hibás lehet. Viszont a program lefordul és használható. A jelzett sor szintaktikailag hibás, vagy valamely korábbi sorban elkövetett hiba hatása. A linker nem találja a hivatkozott kódot. Többnyire függvény név elírások okozzák. A lefordított programot a következő módon lehet futtatni:./program param1 Ez az aktuális könyvtárból lefuttatja a program nevű programot a param1 paraméterrel. A programot leállítani a Ctrl+C billentyű kombinációval lehet. A szerver kipróbálása Az elkészült TCP szerver programot a telnet program segítségével próbálhatjuk ki, amely egy TCP kliens. A telnet programnak első paraméterként meg kell adnunk a
12 szerver gép nevét, amely lokális futtatás esetén localhost, második paraméterként pedig a szerver portját. Például: telnet localhost 1234 A program jelzi, ha nem sikerül kapcsolódnia a szerverhez. Ha a kapcsolat felépült, akkor a begépelt sorokat elküldi a szerver programnak. Figyeljünk arra, hogy mivel a terminál kanonikus, ezért sorokat fog elküldeni az Enter lenyomása után! A program váza Az alábbi C nyelvű programváz segítséget nyújt a fejlesztés elkezdéséhez Linux alatt: #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <sys/socket.h> #include <netinet/in.h> int main(int argc, char* argv[]) int ssock; int reuse = 1; if((ssock = socket(pf_inet, SOCK_STREAM, 0)) < 0) perror("socket"); setsockopt(ssock, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse)); //TODO return 0;
Hálózati architektúrák laborgyakorlat
Hálózati architektúrák laborgyakorlat 10. hét Dr. Orosz Péter, Skopkó Tamás 2012. szeptember A Unix (C) socket A kommunikációt lehetővé tevő programozási eszköz UNIX fájlleíró (ld. minden egy fájl filozófia)
RészletesebbenDr. Varga Imre Debreceni Egyetem, Informatikai Kar. Socket-programozás. C nyelven, Linux alatt
Dr. Varga Imre Debreceni Egyetem, Informatikai Kar Socket-programozás C nyelven, Linux alatt 2019.03.02 Főbb pontok A kommunikáció alapjai Adatstruktúrák és típusok Konvertáló függvények Rendszerhívások
RészletesebbenSzámítógépes hálózatok I.
Számítógépes hálózatok I. 2.gyakorlat Rétegmodellek Socket programozás bevezető Laki Sándor lakis@inf.elte.hu http://lakis.web.elte.hu Sándor Laki (C) Számítógépes hálózatok I. 1 Miért is jók a rétegek?
RészletesebbenDr. Varga Imre. Socket-programozás. C nyelven
Dr. Varga Imre Socket-programozás C nyelven Főbb pontok A kommunikáció alapjai Adatstruktúrák és típusok Konvertáló függvények Rendszerhívások Információs függvények Kliens & Server Server szolgáltatást
RészletesebbenSzámítógépes hálózatok
Számítógépes hálózatok 7. gyakorlat: SOCKET programozás (C) Gyakorlatvezető: Ács Zoltán Hatodik házi-feladat 1/2 ADAPTÍV FA Tekintsünk 16 állomást, melyek adaptív fabejárás protokollal visznek át csomagokat.
RészletesebbenSzámítógép-hálózatok: 4. Labor. TCP kliens. A gyakorlat célja:
TCP kliens A gyakorlat célja: TCP kliens alkalmazás írásának az elsajátítása TCP protokoll tulajdonságainak a tanulmányozása Elméleti bevezető: TCP tulajdonságai: A TCP az UDP-vel ellentétben egy összeköttés
RészletesebbenSzámítógépes Hálózatok. 9. gyakorlat
Számítógépes Hálózatok 9. gyakorlat Wireshark Gombos Gergő Számítógépes hálózatok 2 Wireshark Szűrők definiálására alkalmas input eszközök Csomag összefoglaló nézete Kiválasztott csomag hierarchikus nézet
RészletesebbenSOCKET használata UDP kliens
SOCKET használata UDP kliens A gyakorlat célja: Kliens-szerver modell Megismerkedni a SOCKET API alapstrukturáival, működési elveivel UDP kliens megvalósítása (UDP visszhang kliens) Elméleti bevezető:
RészletesebbenBevezetés a SOCKET programozásba UDP kliens
Bevezetés a SOCKET programozásba UDP kliens A gyakorlat célja: Megismerkedni a Kliens-szerver modellel A kapcsolodási végpont fogalmának az elsajátítása Megismerkedni SOCKET API alapstruktúráival, (socket,
RészletesebbenSzámítógépes Hálózatok GY 3-4.hét
Számítógépes Hálózatok GY 3-4.hét Laki Sándor ELTE-Ericsson Kommunikációs Hálózatok Laboratórium ELTE IK - Információs Rendszerek Tanszék lakis@elte.hu http://lakis.web.elte.hu 1 Teszt canvas.elte.hu Kód:
RészletesebbenSzámítógépes hálózatok
Számítógépes hálózatok HETEDIK ELŐADÁS SOCKET programozás C/C++ nyelven AZ ELŐADÁS DIÁKAT KÉSZÍTETTE: ÁCS ZOLTÁN Hálózati programozás bevezetés Általában egy klasszikus hálózati alkalmazás két fő részre
RészletesebbenTCP szerver. TCP szerver alkalmazás írásának az elsajátítása TCP protokoll tulajdonságainak a tanulmányozása kisérleti úton
TCP szerver A gyakorlat célja: TCP szerver alkalmazás írásának az elsajátítása TCP protokoll tulajdonságainak a tanulmányozása kisérleti úton Elméleti bevezető: TCP kilens-szerver alkalmazás: Amint a fenti
RészletesebbenSzámítógépes Hálózatok. 3. gyakorlat
Számítógépes Hálózatok 3. gyakorlat Teszt canvas.elte.hu Számítógépes Hálózatok Gyakorlat 2 NC-NetCat (SoCat), avagy hálózati svájcibicska # szerver imitálása nc -l -p 1234 # kliens imitálása nc destination_host
RészletesebbenBeej útmutatója a hálózati programozáshoz
Beej útmutatója a hálózati programozáshoz Internet Socketek használatával Brian "Beej" Hall beej@piratehaven.org Fordította: Hajdu Gábor triasz@inf.elte.hu (Az esetleges hibákért semmi felelősséget nem
RészletesebbenProgramozás I. gyakorlat
Programozás I. gyakorlat 1. gyakorlat Alapok Eszközök Szövegszerkesztő: Szintaktikai kiemelés Egyszerre több fájl szerkesztése pl.: gedit, mcedit, joe, vi, Notepad++ stb. Fordító: Szöveges file-ban tárolt
RészletesebbenUDP idő szerver. UDP protokollal kapcsolatos ismeretek elmélyítése. Egy UPP protokollt használó időszerver megvalósítása
UDP idő szerver A gyakorlat célja: UDP protokollal kapcsolatos ismeretek elmélyítése. Egy UPP protokollt használó időszerver megvalósítása Elméleti bevezető: UDP Protokoll föbb tulajdonságai: Az Internet
RészletesebbenSocket programozás Példák
Socket programozás Példák Áttekintés Client Server socket socket bind connect Connection request listen accept Client / Server Session write read read write close EOF read close 3 Select demo Beej s guide
RészletesebbenA Wireshark program használata Capture Analyze Capture Analyze Capture Options Interface
A Wireshark program használata A Wireshark (régi nevén Ethereal) protokoll analizátor program, amelyet a hálózat adminisztrátorok a hálózati hibák behatárolására, a forgalom analizálására használnak. A
RészletesebbenTCP/IP SOCKET INTERFACE
TCP/IP SOCKET INTERFACE PROGRAMOZÁSA Számítógép-hálózatok (BMEVIHA215) 2014. április 24., Budapest Dr. Lencse Gábor tudományos főmunkatárs BME Hálózati Rendszerek és Szolgáltatások Tanszék lencse@hit.bme.hu
RészletesebbenSzövegek C++ -ban, a string osztály
Szövegek C++ -ban, a string osztály A string osztály a Szabványos C++ könyvtár (Standard Template Library) része és bár az objektum-orientált programozásról, az osztályokról, csak később esik szó, a string
RészletesebbenJárműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás
Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás 5.3. Mutatók,tömbök A mutató vagy pointer olyan változó, amely egy másik változó címét tartalmazza. A C nyelvű programokban gyakran használják a
RészletesebbenSzilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt
Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt segédlet A Szilipet programok az adatok tárolásához Firebird adatbázis szervert használnak. Hálózatos
RészletesebbenOccam 1. Készítette: Szabó Éva
Occam 1. Készítette: Szabó Éva Párhuzamos programozás Egyes folyamatok (processzek) párhuzamosan futnak. Több processzor -> tényleges párhuzamosság Egy processzor -> Időosztásos szimuláció Folyamatok közötti
RészletesebbenSzámítógépes Hálózatok. 5. gyakorlat
Számítógépes Hálózatok 5. gyakorlat PYTHON ALAPOK V. Socket programozás, UDP 2 Óra eleji kiszh Elérés: https://canvas.elte.hu Számítógépes Hálózatok Gyakorlat 1 3 A kommunikációs csatorna kétféle típusa
RészletesebbenProgramozás 6. Dr. Iványi Péter
Programozás 6. Dr. Iványi Péter 1 Előfeldolgozás része Makrók A forrás kódban elvégzi a helyettesítéseket a fordító Csak egyszer végez helyettesítést Nem olyan makrók, mint a LISP vagy Scheme esetén Csak
RészletesebbenProgramozás C és C++ -ban
Programozás C és C++ -ban 2. További különbségek a C és C++ között 2.1 Igaz és hamis A C++ programozási nyelv a C-hez hasonlóan definiál néhány alap adattípust: char int float double Ugyanakkor egy új
Részletesebben1. Alapok. #!/bin/bash
1. oldal 1.1. A programfájlok szerkezete 1. Alapok A bash programok tulajnképpen egyszerű szöveges fájlok, amelyeket bármely szövegszerkesztő programmal megírhatunk. Alapvetően ugyanazokat a at használhatjuk
RészletesebbenMiről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus változók. Dinamikus változók. Dinamikus változók. Dinamikus változók. 7.
Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1 Vitéz András egyetemi adjunktus BME Híradástechnikai Tanszék vitez@hit.bme.hu Dinamikus memóriakezelés Dinamikus tömbök Dinamikus stringek Program kapcsolata a
RészletesebbenSzámítógép labor V. Egyszer Web szerver. Dokumentáció. Készítette: Ács Gergely (K4C03M) 2003.04.29
Számítógép labor V. Egyszer Web szerver Dokumentáció (K4C03M) 2003.04.29 Egyszer Web szerver Feladat: Egyszer Web szerver Feladat sorszám: 17 Leírás: Készítsen egy egyszer Web szervert, amely képes statikus
RészletesebbenSzámítógépes Hálózatok. 3. gyakorlat
Számítógépes Hálózatok 3. gyakorlat Áramkörkapcsolt hálózatok ÓRAI FELADAT (1 PONT) Számítógépes Hálózatok Gyakorlat 2 Topológia cs1.json D A S1 S4 C B S2 S3 Irányítatlan legyen a gráf!!! Számítógépes
RészletesebbenProgramzás I. - 1. gyakorlat
Programzás I. - 1. gyakorlat Alapok Tar Péter 1 Pannon Egyetem Műszaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: September 15, 2007 1 tar@dcs.vein.hu Tar Péter (PE-MIK-DCS)
RészletesebbenA C programozási nyelv V. Struktúra Dinamikus memóriakezelés
A C programozási nyelv V. Struktúra Dinamikus memóriakezelés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv V. (Struktúra, memóriakezelés) CBEV5 / 1 A struktúra deklarációja 1.
RészletesebbenA C programozási nyelv VI. Parancssori argumentumok File kezelés
A C programozási nyelv VI. Parancssori argumentumok File kezelés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv VI. (Parancssori argumentum, file kezelés) CBEV6 / 1 Parancssori
RészletesebbenC programozási nyelv Pointerek, tömbök, pointer aritmetika
C programozási nyelv Pointerek, tömbök, pointer aritmetika Dr. Schuster György 2011. június 16. C programozási nyelv Pointerek, tömbök, pointer aritmetika 2011. június 16. 1 / 15 Pointerek (mutatók) Pointerek
RészletesebbenFTP: Elkülönített kontroll- és adatkapcsolat. FTP: File Transfer Protocol
Áttekintés Számítógépes Hálózatok 2010 2. Hálózati felhasználások -- socket programozás Bruce Maggs és Srinivasan Seshan (CMU) fóliái alapján Felhasználói réteg Kliens-szerver Felhasználás igényei Háttér
RészletesebbenProgramozás II. 2. Dr. Iványi Péter
Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c
RészletesebbenC programozási nyelv
C programozási nyelv Előfeldolgozó utasítások Dr Schuster György 2011 május 3 Dr Schuster György () C programozási nyelv Előfeldolgozó utasítások 2011 május 3 1 / 15 A fordítás menete Dr Schuster György
RészletesebbenSocketek programozása
Socketek programozása Moldován István Sonkoly Balázs BME TMIT Áttekintés Socketek általánosan Fontosabb rendszerhívások és struktúrák Socket programozási technikák Példák Socketek cél: IPC (Inter-Process
RészletesebbenUNIX: folyamatok kommunikációja
UNIX: folyamatok kommunikációja kiegészítő fóliák az előadásokhoz Mészáros Tamás http://home.mit.bme.hu/~meszaros/ Budapesti Műszaki Egyetem Méréstechnika és Információs Rendszerek Tanszék 1 A kommunikáció
RészletesebbenSzámítógépes Hálózatok GY 6.hét
Számítógépes Hálózatok GY 6.hét Laki Sándor ELTE-Ericsson Kommunikációs Hálózatok Laboratórium ELTE IK - Információs Rendszerek Tanszék lakis@elte.hu http://lakis.web.elte.hu Teszt 10 kérdés 10 perc canvas.elte.hu
RészletesebbenGyorstalpaló hálózatprogramozás C nyelven UNIX. környezetben
Gyorstalpaló hálózatprogramozás C nyelven UNIX környezetben Hajba Gábor László 2007. február 20. Tartalomjegyzék 1. A legfontosabb parancs 4 2. TCP alapú kliens m ködése 4 3. Kliens socket létrehozása
RészletesebbenProgramozás alapjai gyakorlat. 2. gyakorlat C alapok
Programozás alapjai gyakorlat 2. gyakorlat C alapok 2016-2017 Bordé Sándor 2 Forráskód, fordító, futtatható állomány Először megírjuk a programunk kódját (forráskód) Egyszerű szövegszerkesztőben vagy fejlesztőkörnyezettel
RészletesebbenBevezetés, a C++ osztályok. Pere László
Programozás módszertan II. p. Programozás módszertan II. Bevezetés, a C++ osztályok Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK
RészletesebbenFüggvény pointer. Feladat: Egy tömbben soroljunk fel függvényeket, és hívjuk meg valahányszor.
Függvény pointer Több feladat közül futási időben döntöm el, hogy melyiket hajtom végre. A függvényre mutató pointer a függvény kódjának a címére mutat, azon keresztül meghívhatom a függvényt. A pointernek
RészletesebbenSzámítógépes Hálózatok GY 3.hét
Számítógépes Hálózatok GY 3.hét Laki Sándor ELTE-Ericsson Kommunikációs Hálózatok Laboratórium ELTE IK - Információs Rendszerek Tanszék lakis@elte.hu http://lakis.web.elte.hu Mininet letöltés ha még nincs
Részletesebben4. Laborgyakorlat. A fájlokról ezeket az adatokat, a fájlrendszer tárolja. Számunkra az 1, 3, 4. oszlopok lesznek az érdekesek.
Linux fájlrendszerek. 4. Laborgyakorlat Előző gyakorlaton, már volt szó a fájlrendszerekről, mikor a mount parancs -t kapcsolójáról volt szó. Linux alatt, az egyes fájlokhoz való hozzáférések miatt, a
RészletesebbenOperációs rendszerek. 6. gyakorlat: Processzusok közti kommunikáció (osztott memória, üzenetsor)
Operációs rendszerek 6. gyakorlat: Processzusok közti kommunikáció (osztott memória, üzenetsor) A UNIX System V Release-óta minden rendszer biztosít három egyszerűabsztrakciót a processzusok közti kommunikáció
RészletesebbenMegoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat
Megoldás Feladat 1. Statikus teszt Specifikáció felülvizsgálat A feladatban szereplő specifikáció eredeti, angol nyelvű változata egy létező eszköz leírása. Nem állítjuk, hogy az eredeti dokumentum jól
RészletesebbenKommunikáció. Távoli eljáráshívás. RPC kommunikáció menete DCE RPC (1) RPC - paraméterátadás. 3. előadás Protokollok. 2. rész
3. előadás Protokollok Kommunikáció 2. rész RPC (Remote Procedure Call) távoli eljáráshívás RMI (Remote Method Invocation) távoli metódushívás MOM (Message-Oriented Middleware) üzenetorientált köztesréteg
Részletesebben1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon
1. Template (sablon) 1.1. Függvénysablon Maximum függvény megvalósítása függvénynév túlterheléssel. i n l i n e f l o a t Max ( f l o a t a, f l o a t b ) { return a>b? a : b ; i n l i n e double Max (
RészletesebbenHálózatos adatbázis-kapcsolódási problémák és azok javítása
WINTAX programrendszer hálózatos vagy helyi adatbázis-szerverhez vagy adatbázis-kezelőhöz kapcsolódáskor jelentkező kapcsolódási problémák leírása és azok megoldásai. Korábban a Hálózatos beállítás bejegyzésben
RészletesebbenJava II. I A Java programozási nyelv alapelemei
Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak
RészletesebbenSzámítógépes Hálózatok. 4. gyakorlat
Számítógépes Hálózatok 4. gyakorlat Teszt canvas.elte.hu Számítógépes Hálózatok Gyakorlat 2 TCP Számítógépes Hálózatok Gyakorlat 3 TCP socket() bind() listen() accept() sock = socket.socket(socket.af_inet,
RészletesebbenSzámítógépes Hálózatok. 7. gyakorlat
Számítógépes Hálózatok 7. gyakorlat Gyakorlat tematika Hibajelző kód: CRC számítás Órai / házi feladat Számítógépes Hálózatok Gyakorlat 7. 2 CRC hibajelző kód emlékeztető Forrás: Dr. Lukovszki Tamás fóliái
Részletesebben[SZÁMÍTÓGÉP-HÁLÓZATOK]
Mérési utasítás WireShark használata, TCP kapcsolatok analizálása A Wireshark (korábbi nevén Ethereal) a legfejlettebb hálózati sniffer és analizátor program. 1998-óta fejlesztik, jelenleg a GPL 2 licensz
RészletesebbenProgramozás alapjai 9.Gy: Struktúra 2.
Programozás alapjai 9.Gy: Struktúra 2. Ördögi részletek P R O A L A G 35/1 B ITv: MAN 2018.11.10 Euró árfolyam statisztika Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR).
RészletesebbenMechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe
Mechatronika és mikroszámítógépek 2017/2018 I. félév Bevezetés a C nyelvbe A C programozási nyelv A C egy általános célú programozási nyelv, melyet Dennis Ritchie fejlesztett ki Ken Thompson segítségével
RészletesebbenFüggvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r
Programozás I. Széchenyi István Egyetem, Gy r 2014. november 16. Áttekintés kel kapcsolatos fogalmak deklaráció Több, kompatibilis változat is elképzelhet. Meg kell el znie a fv. hívását. Mindenképp rögzíti
RészletesebbenSzámítógépes Hálózatok 2012
Számítógépes Hálózatok 2012 8. Hálózati felhasználások -- socket programozás Bruce Maggs és Srinivasan Seshan (CMU) fóliái alapján 1 Áttekintés Felhasználói réteg Kliens-szerver Felhasználás igényei Háttér
RészletesebbenSzámítógépes Hálózatok GY 4.hét
Számítógépes Hálózatok GY 4.hét Laki Sándor ELTE-Ericsson Kommunikációs Hálózatok Laboratórium ELTE IK - Információs Rendszerek Tanszék lakis@elte.hu http://lakis.web.elte.hu Teszt 10 kérdés 10 perc canvas.elte.hu
RészletesebbenMár megismert fogalmak áttekintése
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése Eseménykezelési módszerek 2 Már megismert fogalmak
RészletesebbenSzámítógépes Hálózatok GY 7.hét
Számítógépes Hálózatok GY 7.hét Laki Sándor ELTE-Ericsson Kommunikációs Hálózatok Laboratórium ELTE IK - Információs Rendszerek Tanszék lakis@elte.hu http://lakis.web.elte.hu Teszt 10 kérdés 10 perc canvas.elte.hu
RészletesebbenIII. Felzárkóztató mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK
Mérési utasítás ARP, ICMP és DHCP protokollok vizsgálata Ezen a mérésen a hallgatók az ARP, az ICMP és a DHCP protokollok működését tanulmányozzák az előző mérésen megismert Wireshark segítségével. A mérés
RészletesebbenProgramozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1
Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1 Készítette: Gipsz Jakab Neptun-azonosító: A1B2C3 E-mail: gipszjakab@vilaghalo.hu Kurzuskód: IP-08PAED Gyakorlatvezető
RészletesebbenProgramozás alapjai 2.Gy: A C nyelv alapjai P R O
Programozás alapjai 2.Gy: A C nyelv alapjai. P R O A L A G 1/32 B ITv: MAN 2018.10.02 Code::Blocks Indítsa el mindenki! 2/32 1 Code::Blocks Új projekt 2 3 4 5 3/32 Code::Blocks Forráskód Kód fordítása:
RészletesebbenC programozási nyelv
C programozási nyelv Struktúrák Dr Schuster György 2011 június 16 Dr Schuster György () C programozási nyelv Struktúrák 2011 június 16 1 / 11 Struktúrák Struktúrák A struktúra egy olyan összetett adatszerkezet,
RészletesebbenDelphi programozás I.
Delphi programozás I. Konzol alkalmazások készítése Delphiben A Delphi konzol alkalmazása (console application) olyan 32 bites program, amely nem grafikus felületen, hanem egy szöveges konzol ablakban
Részletesebben1. Alapok. Programozás II
1. Alapok Programozás II Elérhetőség Név: Smidla József Elérhetőség: smidla dcs.uni-pannon.hu Szoba: I916 2 Irodalom Bjarne Stroustrup: A C++ programozási nyelv 3 Irodalom Erich Gamma, Richard Helm, Ralph
RészletesebbenC programozás. 6 óra Függvények, függvényszerű makrók, globális és
C programozás 6 óra Függvények, függvényszerű makrók, globális és lokális változók 1.Azonosítók A program bizonyos összetevőire névvel (azonosító) hivatkozunk Első karakter: _ vagy betű (csak ez lehet,
RészletesebbenURL-LEL ADOTT OBJEKTUM LETÖLTÉSE (1) URL-LEL ADOTT OBJEKTUM LETÖLTÉSE
Programozás III HÁLÓZATKEZELÉS A hálózatkezeléshez használatos java csomag: java. net Hol találkoztunk már vele? Pl.: URL cim = this.getclass().getresource("/zene/valami_zene.wav"); De pl. adott URL-ről
Részletesebben1. Bevezető. 2. IP cím és szolgáltatások felderítése
1. Bevezető Az ismertetésre kerülő lépéssorozat egy lehetséges módja a Hacktivity 2010 rendezvényen Capture the Flag néven meghirdetett verseny Fresh nevű gépén felhasználói hozzáférés szerzésének, majd
RészletesebbenOOP #14 (referencia-elv)
OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet
RészletesebbenJárműfedélzeti rendszerek II. 4. előadás Dr. Bécsi Tamás
Járműfedélzeti rendszerek II. 4. előadás Dr. Bécsi Tamás 6. Struktúrák A struktúra egy vagy több, esetleg különböző típusú változó együttese, amelyet a kényelmes kezelhetőség céljából önálló névvel látunk
RészletesebbenMintavételes szabályozás mikrovezérlő segítségével
Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés
RészletesebbenII. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK
Mérési Utasítás Linux/Unix jogosultságok és fájlok kezelése Linux fájlrendszerek és jogosultságok Linux alatt, az egyes fájlokhoz való hozzáférések szabályozása érdekében a fájlokhoz tulajdonost, csoportot
RészletesebbenSzámítógép hálózatok gyakorlat
Számítógép hálózatok gyakorlat 5. Gyakorlat Ethernet alapok Ethernet Helyi hálózatokat leíró de facto szabvány A hálózati szabványokat az IEEE bizottságok kezelik Ezekről nevezik el őket Az Ethernet így
RészletesebbenInterfészek. PPT 2007/2008 tavasz.
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése 2 Már megismert fogalmak áttekintése Objektumorientált
RészletesebbenProgramozás I. 5. Előadás: Függvények
Programozás I 5. Előadás: Függvények Függvény Egy alprogram Egy C program általában több kisméretű, könnyen értelmezhető függvényből áll Egy függvény megtalálható minden C programban: ez a main függvény
RészletesebbenKommunikáció. 3. előadás
Kommunikáció 3. előadás Kommunikáció A és B folyamatnak meg kell egyeznie a bitek jelentésében Szabályok protokollok ISO OSI Többrétegű protokollok előnyei Kapcsolat-orientált / kapcsolat nélküli Protokollrétegek
RészletesebbenSSL elemei. Az SSL illeszkedése az internet protokoll-architektúrájába
SSL 1 SSL elemei Az SSL illeszkedése az internet protokoll-architektúrájába 2 SSL elemei 3 SSL elemei 4 SSL Record protokoll 5 SSL Record protokoll Az SSL Record protokoll üzenet formátuma 6 SSL Record
RészletesebbenSSL VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ
SSL VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ GIRODIRECT SZOLGÁLTATÁST IGÉNYBEVEVŐ ÜGYFELEKENEK Verzió: v1.04 Dátum: 2018. január 5. Készítette: A jelen dokumentum tartalma szerzői jogi védelem alatt áll, a mű
RészletesebbenProgramozás I gyakorlat
Programozás I. - 9. gyakorlat Sztringkezelés, mutatók Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer- és Számítástudományi Tanszék Utolsó frissítés: November 2, 2009 1 tar@dcs.vein.hu Tar
RészletesebbenMobil Partner telepítési és használati útmutató
Mobil Partner telepítési és használati útmutató Tartalom Kezdeti lépések... 2 Telepítés... 2 A program indítása... 6 Mobile Partner funkciói... 7 Művelet menü... 7 Kapcsolat... 7 Statisztika... 8 SMS funkciók...
Részletesebben1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok
Számítógépes szimulációk 1. Bevezetés BME Fizika Intézet 2015. szeptember 9. Bevezetés A félév menete C-ismétlés, 1. rész Oktatók: Nagyfalusi Balázs: nagyfalusi@phy.bme.hu, F3 211. : tcsaba@eik.bme.hu,
RészletesebbenÓbudai Egyetem. C programozási nyelv
Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C programozási nyelv Struktúrák és Unionok Dr. Schuster György 2016. október 6. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar C programozási 2016. októbernyelv
RészletesebbenA virtuális környezetet menedzselő program. Első lépésként egy új virtuális gépet hozzunk létre a Create a New Virtual Machine menüponttal.
1. Virtuális gép létrehozása (VMWARE Player) A virtuális környezetet menedzselő program. Első lépésként egy új virtuális gépet hozzunk létre a Create a New Virtual Machine menüponttal. Megadjuk, hogy a
RészletesebbenAz internet ökoszisztémája és evolúciója. Gyakorlat 1
Az internet ökoszisztémája és evolúciója Gyakorlat 1 GNS3: installálás és konfiguráció GNS3: hálózatszimulátor Valódi router/hoszt image-ek hálózatba kapcsolása emulált linkeken keresztül: CISCO, Juniper,
RészletesebbenProgramozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)
Programozás alapjai C nyelv 8. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény
RészletesebbenKonkurens TCP Szerver
A gyakorlat célja: Konkurens TCP Szerver Megismerkedni a párhuzamos programozás és a konkurens TCP szerver készítésének az elméleti és gyakorlati alapjaival és egy egyidejűleg több klienst is kiszolgáló
RészletesebbenOperációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED Reguláris kifejezések - alapok, BASH Operációs rendszerek 9. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik Viktor
RészletesebbenC string műveletek (string.h alkalmazása)
C string műveletek (string.h alkalmazása) A 3. előadás ZH során a string.h-ban található függvények alkalmazásával kell különböző, string kezeléssel kapcsolatos feladatokat megoldani. Ehhez szükséges ezen
RészletesebbenProgramozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE
Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK Sapientia EMTE 2015-16 1 Felülnézet 1 Feltételes fordítás #if, #else, #elif, #endif, #ifdef, #ifndef stb. Felülnézet 2 #include: hatására a preprocesszor
RészletesebbenProgramozás 1. Dr. Iványi Péter
Programozás 1. Dr. Iványi Péter 1 C nyelv B.W. Kernighan és D.M. Ritchie, 1978 The C Programming language 2 C nyelv Amerikai Szabványügy Hivatal (ANSI), 1983 X3J11 bizottság a C nyelv szabványosítására
RészletesebbenVectory telepítési útmutató
Vectory telepítési útmutató A vectory kliens programja egy vyw.exe valamint egy bejelentkezes.ini nevű fájlból áll. A vyw.exe-nek és a bejelentkezes.ini-nek egy közös könyvtárba kell kerülniük. Könyvtárak,
RészletesebbenProgramozás II. Fájlkezelés
Programozás II. Fájlkezelés Kocsis Zoltán Tamás 2013. 03. 28 Fájlkezelés Az stdio.h-ban megadott FILE* típusú pointerrel és függvényekkel lehet elérni a fájlunkat. FILE *fp; /* fájl mutató (file pointer/handle)
RészletesebbenMutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában
Programozás alapjai C nyelv 8. gyakorlat Szeberényi mre BME T Programozás alapjai. (C nyelv, gyakorlat) BME-T Sz.. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény
RészletesebbenProgramozás I gyakorlat. 10. Stringek, mutatók
Programozás I gyakorlat 10. Stringek, mutatók Karakter típus A char típusú változókat karakerként is kiírhatjuk: #include char c = 'A'; printf("%c\n", c); c = 80; printf("%c\n", c); printf("%c\n",
Részletesebben3. Ezután a jobb oldali képernyő részen megjelenik az adatbázistábla, melynek először a rövid nevét adjuk meg, pl.: demo_tabla
1. Az adatbázistábla létrehozása a, Ha még nem hoztunk létre egy adatbázistáblát sem, akkor a jobb egérrel a DDIC-objekt. könyvtárra kattintva, majd a Létrehozás és az Adatbázistábla menüpontokat választva
Részletesebben12. gyakorlat Enum; Tárolási osztályok Preprocesszor utasítások; Moduláris programozás
12. gyakorlat Enum; Tárolási osztályok Preprocesszor utasítások; Moduláris programozás Házi (f0174) Egy sor kiíratási formátuma: "nev: %s; pont: %d;". Olvasd be a kiírt számot úgy, ha tudod, hogy a kiírt
Részletesebben