Winsock. Sieci Komputerowe II Wyk ład 3
|
|
- Justyna Marcinkowska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Winsock Sieci Komputerowe II Wyk ład 3
2 Plan Przygotowanie środowiska Inicjacja Winsock Aplikacja klienta: tworzenie socketu łączenie z socketem serwera wysyłanie i odbieranie danych rozłączanie klienta Aplikacja serwera: tworzenie socketu wiązanie socketu nasłuchiwanie akceptowanie połączenia odbieranie i wysyłanie danych rozłączanie serwera
3 Przygotowanie środowiska Wszelkie prezentowane uwagi dotyczą środowiska MS Visual Studio W środowisku należy ustawić dostęp do biblioteki WS2_32.lib Na początku programu należy dołączyć dwa pliki nagłówkowe: winsock2.h zawierający większość funkcji, struktur i definicji do obsługi socketów ws2tcpip.h zawierający pozostałe funkcje i struktury nie ujęte w winsock2.h a zawarte w dokumencie WinSock 2 Protocol-Specific Annex dla protokołu TCP/IP Czasami może być konieczne użycie plików nagłówkowych iphlpapi.h (IP Helper API) i/lub windows.h o warunkach użycia tych plików należy doczytać w dokumentacji środowiska
4 Windows Inicjacja Winsock Przed przystąpieniem do korzystania z funkcji biblioteki Winsock należy zainicjować bibliotekę dynamiczną Windows Sockets DLL (WS2_32.dll) w następujący sposób: stworzyć obiekt typu WSADATA o nazwie wsadata WSADATA wsadata; wywołać funkcję WSAStartup i sprawdzić wynik wywołania pod względem błędów int iresult; // Initialize Winsock iresult = WSAStartup(MAKEWORD(2,2), &wsadata); if (iresult!= 0) { printf("wsastartup failed: %d\n", iresult); return 1; }
5 Tworzenie socketu dla klienta krok 1 Zadeklarować obiekt addrinfo zawierający strukturę sockaddr i zainicjować te wartości struct addrinfo *result = NULL, *ptr = NULL, hints; ZeroMemory( &hints, sizeof(hints) ); hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_STREAM; hints.ai_protocol = IPPROTO_TCP; Nie jest określona wersja adresów IP zarówno adres IPv4, jak i IPv6 mogą być użyte (ai_family) Wymaganym przez aplikację typem socketu jest socket strumieniowy dla protokołu TCP (ai_socktype, ai_protocol)
6 Tworzenie socketu dla klienta krok 2 Wywołać funkcję getaddrinfo żądanie adresu IP dla nazwy serwera podanej w linii komend #define DEFAULT_PORT "27015" // Resolve the server address and port iresult = getaddrinfo(argv[1], DEFAULT_PORT, &hints, &result); if (iresult!= 0) { printf("getaddrinfo failed: %d\n", iresult); WSACleanup(); return 1; } Port TCP po stronie serwera, z jakim w tym przykładzie chce się połączyć klient, to port (stała DEFAULT_PORT) Funkcja getaddrinfo zwraca wartość, która jest sprawdzana pod kątem wystąpienia błędów. WSACleanup kończy użycie WS2_32.dll
7 Tworzenie socketu dla klienta krok 3 Utworzyć obiekt ConnectSocket typu SOCKET SOCKET ConnectSocket = INVALID_SOCKET;
8 Tworzenie socketu dla klienta krok 4 Wywołać funkcję socket i przypisać zwracaną przez nią wartość do zmiennej ConnectSocket // Attempt to connect to the first address returned by the call to getaddrinfo ptr=result; // Create a SOCKET for connecting to server ConnectSocket = socket(ptr->ai_family, ptr->ai_socktype, ptr->ai_protocol); Używany jest pierwszy adres IP zwrócony przez funkcję getaddrinfo, który odpowiada parametrom określonym w strukturze hints (typ socketu SOCK_STREAM, typ protokołu IPROTO_TCP, nieokreślona wersja adresów IP AF_UNSPEC) Jeśli klient ma się kontaktować z serwerem wyłącznie za pośrednictwem adresu IP w wersji 4 lub IP w wersji 6 to zamiast AF_UNSPEC należy użyć odpowiednio AF_INET lub AF_INET6
9 Łączenie z socketem serwera (1) Sprawdzenie czy nie wystąpiły błędy podczas tworzenia socketu // Connect to server. iresult = connect( ConnectSocket, ptr->ai_addr, (int)ptr->ai_addrlen); if (iresult == SOCKET_ERROR) { closesocket(connectsocket); ConnectSocket = INVALID_SOCKET; } Użyta wcześniej funkcja getaddrinfo jest używana do określenia wartości w strukturze sockaddr() W przykładzie pierwszy adres IP zwrócony przez getaddrinfo służy do określenia zawartości struktury sockaddr, która następnie jest przekazywana do funkcji socket Informacje zawarte w strukturze sockaddr zawierają: adres IP serwera, z którym klient chce się połączyć numer portu serwera, z którym klient chce się połączyć (w tym przypadku port określony przy wywoływaniu funkcji getaddrinfo)
10 Łączenie z socketem serwera (2) Sprawdzenie czy nie wystąpiły błędy podczas tworzenia socketu // Should really try the next address returned by getaddrinfo if the connect call failed // But for this simple example we just free the resources // returned by getaddrinfo and print an error message freeaddrinfo(result); if (ConnectSocket == INVALID_SOCKET) { printf("unable to connect to server!\n"); WSACleanup(); return 1; } Jeśli funkcja connect nie wykona się poprawnie dla pierwszego z adresów zwróconych przez getaddrinfo, wtedy należy skorzystać z następnej struktury addrinfo z listy zwróconej przez getaddrinfo W tym przykładzie inne podejście po prostu zwolnienie zasobów i zakończenie programu komunikatem o błędzie
11 Wysyłanie i odbieranie danych (1) Po nawiązaniu połączenia z socketem serwera klient wysyła i odbiera dane za pomocą funkcji send i recv obydwie funkcje zwracają liczbę wysłanych (odebranych) bajtów lub kod błędu obydwie funkcje również korzystają z tych samych parametrów: aktywny socket, bufor znaków, liczba bajtów do wysłania lub odebrania, odpowiednie znaczniki #define DEFAULT_BUFLEN 512 int recvbuflen = DEFAULT_BUFLEN; char *sendbuf = "this is a test"; char recvbuf[default_buflen]; int iresult;
12 Wysyłanie i odbieranie danych (2) // Send an initial buffer iresult = send(connectsocket, sendbuf, (int) strlen(sendbuf), 0); if (iresult == SOCKET_ERROR) { printf("send failed: %d\n", WSAGetLastError()); closesocket(connectsocket); WSACleanup(); return 1; } printf("bytes Sent: %ld\n", iresult);
13 Wysyłanie i odbieranie danych (3) // shutdown the connection for sending since no more data will be sent // the client can still use the ConnectSocket for receiving data iresult = shutdown(connectsocket, SD_SEND); if (iresult == SOCKET_ERROR) { printf("shutdown failed: %d\n", WSAGetLastError()); closesocket(connectsocket); WSACleanup(); return 1; }
14 Wysyłanie i odbieranie danych (4) // Receive data until the server closes the connection do { iresult = recv(connectsocket, recvbuf, recvbuflen, 0); if (iresult > 0) printf("bytes received: %d\n", iresult); else if (iresult == 0) printf("connection closed\n"); else printf("recv failed: %d\n", WSAGetLastError()); } while (iresult > 0);
15 Rozłączanie klienta krok 1 Gdy klient zakończy wysyłanie danych, rozłącza się z serwerem // shutdown the send half of the connection since no more data will be sent iresult = shutdown(connectsocket, SD_SEND); if (iresult == SOCKET_ERROR) { printf("shutdown failed: %d\n", WSAGetLastError()); closesocket(connectsocket); WSACleanup(); return 1; } Funkcja shutdown z parametrem SD_SEND stosowana do zamknięcia strony wysyłającej Umożliwia to serwerowi zwolnienie wykorzystywanych w komunikacji zasobów, a klient może nadal otrzymywać dane przez ten socket
16 Rozłączanie klienta krok 2 Gdy klient zakończy odbieranie danych zamyka socket // cleanup closesocket(connectsocket); WSACleanup(); return 0; Funkcja closesocket stosowana do zamknięcia socketu Po zakończeniu korzystania przez aplikację klienta z biblioteki WS2_32.dll wywoływana jest funkcja WSACleanup zamykająca bibliotekę i zwalniająca używane zasoby.
17 Tworzenie socketu dla serwera krok 1 Zadeklarować obiekt addrinfo zawierający strukturę sockaddr #define DEFAULT_PORT "27015" struct addrinfo *result = NULL, *ptr = NULL, hints; ZeroMemory(&hints, sizeof (hints)); hints.ai_family = AF_INET; hints.ai_socktype = SOCK_STREAM; hints.ai_protocol = IPPROTO_TCP; hints.ai_flags = AI_PASSIVE; AF_INET adres IPv4 STOCK_STREAM socket strumieniowy IPPROTO_TCP protokół TCP AI_PASSIVE znacznik oznaczający, że ma być użyta struktura adresu socketu zwrócona przez funkcję bind (parametr INADDR_ANY lub IN6ADDR_ANY_INIT) numer portu, do którego powinien się łączyć klient
18 Tworzenie socketu dla serwera krok 2 Wywołać funkcję getaddrinfo przy użyciu struktury addrinfo // Resolve the local address and port to be used by the server iresult = getaddrinfo(null, DEFAULT_PORT, &hints, &result); if (iresult!= 0) { printf("getaddrinfo failed: %d\n", iresult); WSACleanup(); return 1; } Funkcja getaddrinfo zwraca wartość, która jest sprawdzana pod kątem wystąpienia błędów. WSACleanup kończy użycie WS2_32.dll
19 Tworzenie socketu dla serwera krok 3 Utworzyć obiekt ListenSocket typu SOCKET SOCKET ListenSocket = INVALID_SOCKET;
20 Tworzenie socketu dla klienta krok 4 Wywołać funkcję socket i przypisać zwracaną przez nią wartość do zmiennej ListenSocket // Create a SOCKET for the server to listen for client connections ListenSocket = socket(result->ai_family, result->ai_socktype, result->ai_protocol); Używany jest pierwszy adres IP zwrócony przez funkcję getaddrinfo, który odpowiada parametrom określonym w strukturze hints (typ socketu SOCK_STREAM, typ protokołu IPROTO_TCP, adres IPv4 AF_INET) Jeśli klient ma się kontaktować z serwerem wyłącznie za pośrednictwem adresu IP w wersji to zamiast AF_INET należy użyć AF_INET6, te dwa typy socketów muszą być osobno obsługiwane przez aplikację. Od wersji Vista istnieje możliwość stworzenia pojedynczego socketu IPv6, który może pracować w trybie dual-stack i nasłuchiwać jednocześnie na dwóch wersjach adresu IPv4 i IPv6
21 Tworzenie socketu dla klienta krok 5 Sprawdzenie, czy podczas tworzenia socketu nie wystąpiły błędy if (ListenSocket == INVALID_SOCKET) { printf("error at socket(): %ld\n", WSAGetLastError()); freeaddrinfo(result); WSACleanup(); return 1; } Jeśli wystąpił błąd to wyświetlany jest odpowiedni komunikat Zasoby są zwracane WSACleanup kończy użycie WS2_32.dll
22 Wiązanie z socketem Aby serwer mógł akceptować połączenia od klienta, to musi być związany z adresem sieciowycm // Setup the TCP listening socket iresult = bind( ListenSocket, result->ai_addr, (int)result->ai_addrlen); if (iresult == SOCKET_ERROR) { printf("bind failed: %d\n", WSAGetLastError()); freeaddrinfo(result); closesocket(listensocket); WSACleanup(); return 1; } Struktura sockaddr przechowuje informacje o adresie IP, jego typie i numerze portu Funkcja bind uruchamiana jest dla utworzonego socketu (parametry socket i sockaddr) W przypadku wystąpienia błędu, jego obsługa polega na wygenerowaniu napisu informującego o błędzie, zwróceniu zasobów i zakończeniu użycia WS2_32.dll
23 Nasłuchiwanie na sockecie Po związaniu socketu z adresem IP i portem, serwer przechodzi w stan nasłuchiwania (oczekiwania na połączenia z klientem) if ( listen( ListenSocket, SOMAXCONN ) == SOCKET_ERROR ) { printf( "Error at bind(): %ld\n", WSAGetLastError() ); closesocket(listensocket); WSACleanup(); return 1; } Funkcja listen wywoływana jest z dwoma parametrami utworzonym socketem i wartością określającą maksymalną długość kolejki połączeń oczekujących na zaakceptowanie (w tym przykładzie stała SOMAXCONN) Stała SOMAXCONN oznacza maksymalną rozsądnie możliwą liczbę oczekujących połączeń W przypadku wystąpienia błędu, jego obsługa polega na wygenerowaniu napisu zamknięciu socketu i zakończeniu użycia WS2_32.dll
24 Akceptowanie połączeń krok 1 Gdy socket jest w trybie nasłuchiwania, program musi obsługiwać żądania połączenia przychodzące na ten socket SOCKET ClientSocket; Utworzenie temporalnego obiektu typu SOCKET, służącego do obsługi połączeń przychodzących.
25 Akceptowanie połączeń krok 2 Akceptowanie połączenia ClientSocket = INVALID_SOCKET; // Accept a client socket ClientSocket = accept(listensocket, NULL, NULL); if (ClientSocket == INVALID_SOCKET) { printf("accept failed: %d\n", WSAGetLastError()); closesocket(listensocket); WSACleanup(); return 1; } Zazwyczaj aplikacja serwera nasłuchuje cały czas, aby przyjmować kolejne połączenia od klientów (kolejne połączenia są obsługiwane przez odrębne wątki) Po wystąpieniu próby nawiązania połączenia, aplikacja serwera akceptuje połączenie jedną z funkcji accept, AcceptEx lub WSAAccept i przekazuje sterowanie do innego wątku, który zajmuje się obsługą tego zgłoszenia W typ prostym przypadku serwer nasłuchuje i akceptuje wyłącznie jedno połączenie (nie ma obsługi wielu wątków)
26 Akceptowanie połączeń krok 3 Zaakceptowanie połączenia klienta przez serwer powinno spowodować przekazanie zaakceptowanego socketu klienta do wątku roboczego lub do odpowiedniego portu we/wy, a serwer powinien przejść do akceptowania kolejnych połączeń W tym prostym przykładzie serwer po zaakceptowaniu połączenia przechodzi do obsługi tego połączenia Istnieje wiele innych technik programistycznych, które mogą być użyte do nasłuchiwania i akceptowania połączeń przychodzących. Są to m.in. funkcje select lub WSAPoll. Przykłady znajdują się w MS Windows Software Development Kit (SDK)
27 Akceptowanie połączeń uwagi Główna różnica pomiędzy systemem Windows a systemami unixowymi w zastosowaniu socketów występuje w momencie zaakceptowania połączenia W systemach unixowych proces serwera wywołuje funkcję fork by utworzyć proces potomny do obsługi połączenia z klientem otrzymując od serwera socket Systemy windowsowe nie obsługują funkcji fork, używając w zamian techniki wielowątkowości
28 Odbieranie i wysyłanie danych (1) Po nawiązaniu połączenia z socketem klienta serwer odbiera i wysyła dane za pomocą funkcji recv i send obydwie funkcje zwracają liczbę wysłanych (odebranych) bajtów lub kod błędu obydwie funkcje również korzystają z tych samych parametrów: aktywny socket, bufor znaków, liczba bajtów do wysłania lub odebrania, odpowiednie znaczniki #define DEFAULT_BUFLEN 512 char recvbuf[default_buflen]; int iresult, isendresult; int recvbuflen = DEFAULT_BUFLEN; // Receive until the peer shuts down the connection do { } while (iresult > 0);
29 Odbieranie i wysyłanie danych (2) do { iresult = recv(clientsocket, recvbuf, recvbuflen, 0); if (iresult > 0) { printf("bytes received: %d\n", iresult); } // Echo the buffer back to the sender isendresult = send(clientsocket, recvbuf, iresult, 0); if (isendresult == SOCKET_ERROR) { printf("send failed: %d\n", WSAGetLastError()); closesocket(clientsocket); WSACleanup(); return 1; } printf("bytes sent: %d\n", isendresult);
30 Odbieranie i wysyłanie danych (3) else if (iresult == 0) printf("connection closing...\n"); else { printf("recv failed: %d\n", WSAGetLastError()); closesocket(clientsocket); WSACleanup(); return 1; } } while (iresult > 0);
31 Rozłączanie serwera krok 1 Gdy serwer zakończy odbieranie danych od klienta i wysyłanie informacji zwrotnych, rozłącza się z klientem // shutdown the send half of the connection since no more data will be sent iresult = shutdown(clientsocket, SD_SEND); if (iresult == SOCKET_ERROR) { printf("shutdown failed: %d\n", WSAGetLastError()); closesocket(clientsocket); WSACleanup(); return 1; } Funkcja shutdown z parametrem SD_SEND stosowana do zamknięcia strony wysyłającej Umożliwia to klientowi zwolnienie wykorzystywanych w komunikacji zasobów, a serwer może nadal otrzymywać dane przez ten socket
32 Rozłączanie serwera krok 2 Gdy klient zakończy odbieranie danych zamykany jest związany z nim socket // cleanup closesocket(clientsocket); WSACleanup(); return 0; Funkcja closesocket stosowana do zamknięcia socketu Po zakończeniu korzystania przez aplikację z biblioteki WS2_32.dll wywoływana jest funkcja WSACleanup zamykająca bibliotekę i zwalniająca używane zasoby.
33 Przykłady zaawansowane Dostępne w Windows SDK W przypadku Windows 7 zainstalowane w następującym katalogu: C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\NetDs\winsock Pięć katalogów: accept simple WSAPoll overlap iocp
34 Przykłady zaawansowane accept pokazuje zastosowanie funkcji select do obsługi wielu połączeń lub funkcji WSAAsyncSelect do akceptacji asynchronicznej simple trzy podstawowe programy ilustrujące korzystanie z wielu wątków przez serwer simples prosty serwer TCP/UDP simples_ioctl serwer wyłacznie TCP korzystający z funkcji select do obsługi wielu klientów simplec klient TCP/UDP WSAPoll prosty program pokazujący użycie funkcji WSAPoll overlap przykładowy serwer korzystający z nadpisywania portu I/O do obsługi wielu połączeń w sposób asynchroniczny z poziomu aplikacji jednowątkowej(acceptex) iocp trzy programy korzystające z funkcji WSAAccept (iocpserver), funkcji AcceptX (iocpserverx) i wielowątkowy klient (iocpclient)
Aplikacja Sieciowa. Najpierw tworzymy nowy projekt, tym razem pracować będziemy w konsoli, a zatem: File->New- >Project
Aplikacja Sieciowa Jedną z fundamentalnych właściwości wielu aplikacji jest możliwość operowania pomiędzy jednostkami (np. PC), które włączone są do sieci. W Windows operacja ta jest możliwa przy wykorzystaniu
TCP - receive buffer (queue), send buffer (queue)
BSD sockets c.d. TCP - receive buffer (queue), send buffer (queue) Z każdym gniazdem sieciowym są skojarzone: Bufor do odbierania danych (ang. receive buffer) Przychodzące dane są umieszczane w buforze
Aplikacja Sieciowa wątki po stronie klienta
Aplikacja Sieciowa wątki po stronie klienta Na ostatnich zajęciach zajmowaliśmy się komunikacją pomiędzy klientem a serwerem. Wynikiem naszej pracy był program klienta, który za pomocą serwera mógł się
Oprogramowanie komunikacyjne dla Internetu rzeczy Laboratorium nr 4 komunikacja unicastowa IPv6
Oprogramowanie komunikacyjne dla Internetu rzeczy Laboratorium nr 4 komunikacja unicastowa IPv6 Celem ćwiczenia jest zdobycie umiejętności programowania komunikacji unicastowej za pomocą protokołu IPv6
Programowanie TCP/IP
Podstawy komputerowych systemów sterowania Programowanie TCP/IP dr inż. Krzysztof Kołek Materiały wyłącznie dla potrzeb wykładu Podstawy komputerowych systemów sterowania IV rok RA wydział EAIiEB AGH.
Programowanie Sieciowe 1
Programowanie Sieciowe 1 dr inż. Tomasz Jaworski tjaworski@iis.p.lodz.pl http://tjaworski.iis.p.lodz.pl/ Klient UDP Kolejność wykonywania funkcji gniazdowych klienta UDP Protokół UDP jest bezpołączeniowy:
Iteracyjny serwer TCP i aplikacja UDP
Iteracyjny serwer TCP i aplikacja UDP Iteracyjny serwer TCP Funkcje wywoływane przez serwer TCP socket() - bind() - listen() - accept() - read() / write() - close() socket() Creates an endpoint for communication
ZESZYTY ETI ZESPOŁU SZKÓŁ W TARNOBRZEGU Nr 1 Seria: Teleinformatyka 2013
ZESZYTY ETI ZESPOŁU SZKÓŁ W TARNOBRZEGU Nr 1 Seria: Teleinformatyka 2013 Paweł Kowalik Zespół Szkół im. ks. S. Staszica w Tarnobrzegu KOMUNIKACJA SIECIOWA MIĘDZY URZĄDZENIAMI Z WYKORZYSTANIEM PROTKOŁU
Architektury systemów rozproszonych LABORATORIUM. Ćwiczenie 1
Architektury systemów rozproszonych LABORATORIUM Ćwiczenie 1 Temat: Aplikacja klient-serwer - implementacja w środowisku QT Creator. Przykładowy projekt aplikacji typu klient - serwer został udostępniony
Architektura typu klient serwer: uproszczony klient POP3
Architektura typu klient serwer: uproszczony klient POP3 Wydział Inżynierii Mechanicznej i Informatyki Instytut Informatyki Teoretycznej i Stosowanej dr inż. Łukasz Szustak Składniki systemu poczty e-mail
Podstawowe typy serwerów
Podstawowe typy serwerów 1. Algorytm serwera. 2. Cztery podstawowe typy serwerów. iteracyjne, współbieżne, połączeniowe, bezpołączeniowe. 3. Problem zakleszczenia serwera. 1 Algorytm serwera 1. Utworzenie
socket(int domain, int type, int protocol)
Co identyfikuje adres IP a co port? IP identyfikuje hosta w sieci port identyfikuje typ procesu (np. 21 FTP, 25 SMTP, 49 LOGIN) gniazdo identyfikuje unikalny nr połączenia Czym różni się deskryptor gniazda
Programowanie przy użyciu gniazdek
Programowanie przy użyciu gniazdek Gniazdo (ang. socket) pojęcie abstrakcyjne reprezentujące dwukierunkowy punkt końcowy połączenia. Dwukierunkowość oznacza możliwość wysyłania i przyjmowania danych. Wykorzystywane
Klient-Serwer Komunikacja przy pomocy gniazd
II Klient-Serwer Komunikacja przy pomocy gniazd Gniazda pozwalają na efektywną wymianę danych pomiędzy procesami w systemie rozproszonym. Proces klienta Proces serwera gniazdko gniazdko protokół transportu
Instytut Teleinformatyki
Instytut Teleinformatyki Wydział Inżynierii Elektrycznej i Komputerowej Politechnika Krakowska programowanie usług sieciowych Dziedzina Unix laboratorium: 06 Kraków, 2014 06. Programowanie Usług Sieciowych
Sieci komputerowe. Wykład 7: Transport: protokół TCP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski
Sieci komputerowe Wykład 7: Transport: protokół TCP Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 7 1 / 23 W poprzednim odcinku Niezawodny transport Algorytmy
Interfejs programowy Windows Sockets 2. Aplikacja klient-serwer TCP Echo
Interfejs programowy Windows Sockets 2. Aplikacja klient-serwer TCP Echo Zagadnienia Omówienie biblioteki Winsock. Specyfikacja klienta tcpecho. Specyfikacja serwera tcpecho. dr Zbigniew Lipiński Instytut
3. Identyfikacja. SKŁADNIA #include <sys/socket.h> int getpeername(int socket, struct sockaddr *addr, int *addrlen);
3.1. Określanie adresu połączonego hosta 3. #include int getpeername(int socket, struct sockaddr *addr, int *addrlen); Funkcja getpeername dostarcza adresu drugiej strony połączenia. Parametry:
Gniazda UDP. Bartłomiej Świercz. Łódź, 3 kwietnia Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Gniazda UDP
Gniazda UDP Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 3 kwietnia 2006 Wstęp ZewzględunaróżnicewprotokołachTCPiUDPsposób korzystania z gniazd UDP różni sie znacznie od
MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty
MeetingHelper Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania Instrukcja obsługi dla programisty W tej części został zawarty opis uruchamiania projektu programistycznego,
Sockety TCP/IP - podstawy. Sieci Komputerowe II Wyk ład 2
Sockety TCP/IP - podstawy Sieci Komputerowe II Wyk ład 2 Plan Klient IPv4 Serwer IPv4 Pierwszy program Aplikacja w architekturze klient-serwer Realizacja protokołu echo Zasada działania: klient łączy się
Komunikacja międzyprocesowa. Krzysztof Banaś Systemy rozproszone 1
Komunikacja międzyprocesowa Krzysztof Banaś Systemy rozproszone 1 Komunikacja międzyprocesowa Dla funkcjonowania systemów rozproszonych konieczna jest sprawna komunikacja pomiędzy odległymi procesami Podstawowym
Krótkie wprowadzenie do korzystania z OpenSSL
Krótkie wprowadzenie do korzystania z OpenSSL Literatura: http://www.openssl.org E. Rescola, "An introduction to OpenSSL Programming (PartI)" (http://www.linuxjournal.com/article/4822) "An introduction
Gniazda BSD implementacja w C#
BSD implementacja w C# Implementacja w C#: Przestrzeń nazw: System.Net.Sockets Klasa: public class Socket : IDisposable Implementacja w C#: Konstruktor: public Socket( AddressFamily addressfamily, SocketType
Gniazda surowe. Bartłomiej Świercz. Łódź,9maja2006. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Gniazda surowe
Gniazda surowe Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź,9maja2006 Wstęp Gniazda surowe posiadają pewne właściwości, których brakuje gniazdom TCP i UDP: Gniazda surowe
Transport. część 2: protokół TCP. Sieci komputerowe. Wykład 6. Marcin Bieńkowski
Transport część 2: protokół TCP Sieci komputerowe Wykład 6 Marcin Bieńkowski Protokoły w Internecie warstwa aplikacji HTTP SMTP DNS NTP warstwa transportowa TCP UDP warstwa sieciowa IP warstwa łącza danych
Programowanie sieciowe
Programowanie sieciowe dr Tomasz Tyrakowski Dyż ury: wtorki 12:00 13:00 czwartki 14:00 15:00 pokój B4-5 e-mail: ttomek@amu.edu.pl materiały: http://www.amu.edu.pl/~ttomek 1 Wymagania podstawowa znajomość
Dokumentacja techniczna
I N F O R M A T Y K A S T O S O W A N A E A I I E A G H Dokumentacja techniczna Mobilny asystent administratora Łukasz Świder Radosław Gabiga Łukasz Podolski Paweł Knap Marec Cabaj Maciej Stygar Aleksander
Zdalne wywołania procedur. Jarosław Kuchta Programowanie Współbieżne
Zdalne wywołania procedur Jarosław Kuchta Programowanie Współbieżne Podstawy RPC Remote Procedure Call Wywołanie procedur jednego procesu z innego procesu. Proces wywoływany serwer Proces wywołujący -
JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ]
JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA Marcin Lewandowski [ mlew@ippt.gov.pl ] PROGRAMOWANIE SIECIOWE 2 TCP/IP = UDP + TCP TCP/IP składa się z dwóch podstawowych protokołów: TCP i UDP. TCP jest
Gniazda. S. Samolej: Gniazda 1
Gniazda dr inż. Sławomir Samolej Katedra Informatyki i Automatyki Politechnika Rzeszowska Program przedmiotu oparto w części na materiałach opublikowanych na: http://wazniak.mimuw.edu.pl/ oraz na materiałach
Komunikator internetowy w C#
PAŃSTWOWA WYśSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie Komunikator internetowy w C# autor: Artur Domachowski Elbląg, 2009 r. Komunikacja przy uŝyciu poczty internetowej
Tworzenie aplikacji rozproszonej w Sun RPC
Tworzenie aplikacji rozproszonej w Sun RPC Budowa aplikacji realizowana jest w następujących krokach: Tworzenie interfejsu serwera w języku opisu interfejsu RPCGEN Tworzenie: namiastki serwera namiastki
Ćwiczenia 2 IBM DB2 Data Studio
Ćwiczenia 2 IBM DB2 Data Studio Temat: Aplikacje w Data Studio 1. Projekty Tworzenie procedur, UDF, trygerów zaczynamy od utworzenia projektu File -> New -> Project wybieramy Data Development Project.
Transport. część 2: protokół TCP. Sieci komputerowe. Wykład 6. Marcin Bieńkowski
Transport część 2: protokół TCP Sieci komputerowe Wykład 6 Marcin Bieńkowski Protokoły w Internecie warstwa aplikacji HTTP warstwa transportowa SMTP TCP warstwa sieciowa warstwa łącza danych warstwa fizyczna
Protokół ARP. dr Zbigniew Lipiński. Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl
Protokół ARP Aplikacja printarp dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Address Resolution Protocol ARP, (ang.) Address Resolution
PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO
PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO LABORATORIUM Temat: QNX Neutrino IPC native Mariusz Rudnicki 2016 Wstęp QNX Neutrino wspiera różnorodne mechanizmy komunikacji IPC: rodzima komunikacja QNX Neutrino
Literatura uzupełniająca: W. Richard Stevens, Programowanie zastosowań sieciowych w systemie Unix WNT 1998
Gniazda BSD Literatura uzupełniająca: W. Richard Stevens, Programowanie zastosowań sieciowych w systemie Unix WNT 1998 socket() Użycie gniazd w transmisji połączeniowej bind() listen() socket() accept()
Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.
Kod szkolenia: Tytuł szkolenia: PS/WIN Programowanie systemowe w Windows Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów tworzących aplikacje w systemach z rodziny Microsoft Windows,
Architektura typu klient serwer: przesyłanie pliku tekstowo oraz logowania do serwera za pomocą szyfrowanego hasła
Architektura typu klient serwer: przesyłanie pliku tekstowo oraz logowania do serwera za pomocą szyfrowanego hasła Wydział Inżynierii Mechanicznej i Informatyki Instytut Informatyki Teoretycznej i Stosowanej
Mechanizmy pracy równoległej. Jarosław Kuchta
Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy
Komunikacja przez sieć z wykorzystaniem biblioteki WINSOCK. dr inż. Piotr Kaczmarek Instytut Automatyki i Inżynierii Informatycznej
Komunikacja przez sieć z wykorzystaniem biblioteki WINSOCK dr inż. Piotr Kaczmarek Instytut Automatyki i Inżynierii Informatycznej LAN (Local Area Network) Warstwa fizyczna Podstawowe topologie: -Gwiazda
Ćwiczenie 1. Kolejki IBM Message Queue (MQ)
Ćwiczenie 1. Kolejki IBM Message Queue (MQ) 1. Przygotowanie Przed rozpoczęciem pracy, należy uruchomić "Kreator przygotowania WebSphere MQ" oraz przejść przez wszystkie kroki kreatora, na końcu zaznaczając
Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium przyrządów wirtualnych. Ćwiczenie 4
Politechnika Łódzka Instytut Systemów Inżynierii Elektrycznej Laboratorium przyrządów wirtualnych Ćwiczenie 4 Komunikacja przyrządu wirtualnego z serwerem przy pomocy interfejsu DataSocket 1. Wstęp teoretyczny
FTP File Transfer Protocol
FTP File Transfer Protocol Protokół pozwalający na transfer plików pomiędzy hostami w sieci TCP/IP. Protokół warstwy aplikacyjnej. Opiera się w warstwie transportowej na sesji TCP zapewnia kontrolę poprawności
Schemat dla UDP. = możliwe zablokowanie aplikacji KLIENT SERWER. s=socket(...) bind(s,...) recvfrom(s,...) sendto(s,...) recvfrom(s,...
Schemat dla UDP = możliwe zablokowanie aplikacji KLIENT s=socket(...) [bind(s,...)] sendto(s,...) recvfrom(s,...) sendto(s,...) close(s) SERWER s=socket(...) bind(s,...) recvfrom(s,...) sendto(s,...) recvfrom(s,...)
PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:
PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł mysqli ma dwa interfejsy: proceduralny i obiektowy) PostgreSQL Oracle MS
RPC. Zdalne wywoływanie procedur (ang. Remote Procedure Calls )
III RPC Zdalne wywoływanie procedur (ang. Remote Procedure Calls ) 1. Koncepcja Aplikacja wywołanie procedury parametry wyniki wykonanie procedury wynik komputer klienta komputer serwera Zaletą takiego
Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP
Sieci komputerowe Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP Zadania warstwy transportu Zapewnienie niezawodności Dostarczanie danych do odpowiedniej aplikacji w warstwie aplikacji (multipleksacja)
Laboratorium 3.4.2: Zarządzanie serwerem WWW
Laboratorium 3.4.2: Zarządzanie serwerem WWW Topologia sieci Tabela adresacji Urządzenie Interfejs Adres IP Maska podsieci Domyślna brama R1-ISP S0/0/0 10.10.10.6 255.255.255.252 Nie dotyczy Fa0/0 192.168.254.253
Gniazda BSD. Procesy w środowisku sieciowym. Gniazda podstawowe funkcje dla serwera. Gniazda podstawowe funkcje dla klienta
Procesy w środowisku sieciowym! Obsługa! Protokół! Numery portów i ogólnie znane adresy! Połączenie (asocjacja) i gniazdo (półasocjacja)! Model klient-serwer " Serwer - bierne otwarcie kanału " Klient
Tryb bezpołączeniowy (datagramowy)
Tutaj trochę szerzej opisałam mechanizm gniazdek. 3 tematy wymienione poniŝej przeplatają się ze sobą więc wrzuciłam je do jednego worka i przedstawiłam w takim porządku, który wydawał mi się najbardziej
Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)
Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) Ćwiczenie dziesiąte Temat: Gniazda BSD protokoły internetowe Opracowanie: mgr in ż. Arkadiusz Chrobot Wprowadzenie 1. Usługi sieciowe w
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania Celem ćwiczenia jest zapoznanie studentów z najprostszą dynamiczną strukturą
Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton
Dzisiejszy wykład Wzorce projektowe Visitor Client-Server Factory Singleton 1 Wzorzec projektowy Wzorzec nazwana generalizacja opisująca elementy i relacje rozwiązania powszechnie występującego problemu
Instrukcja instalacji Control Expert 3.0
Instrukcja instalacji Control Expert 3.0 Program Control Expert 3.0 jest to program służący do zarządzania urządzeniami kontroli dostępu. Dedykowany jest dla kontrolerów GRx02 i GRx06 oraz rozwiązaniom
Dokumentacja smsapi wersja 1.4
Dokumentacja smsapi wersja 1.4 1. Wprowadzenie Platforma smsapi została skierowana do użytkowników chcących rozbudować swoje aplikacje o system wysyłania smsów. Aplikacja ta w prosty sposób umożliwia integrację
Dokumentacja końcowa projektu z ZPR
Dokumentacja końcowa projektu z ZPR Temat projektu: Prowadzący projekt: Zespół projektowy: Losowe przeszukiwanie stanów dr inż. Robert Nowak Piotr Krysik Kamil Zabielski 1. Opis projektu Projekt ma za
Tomasz Greszata - Koszalin
T: Usługi serwerowe w systemie Windows - telnet. Zadanie1: Sprawdź informacje w serwisie Wikipedii na temat usługi telnet. Telnet standard protokołu komunikacyjnego używanego w sieciach komputerowych do
Serwer współbieżny połączeniowy
Serwery współbieżne 1. Serwery współbieżne serwery połączeniowe, usuwanie zakończonych procesów, serwery bezpołączeniowe, 2. Jednoprocesowe serwery współbieżne. koncepcja i implementacja. 1 Serwer współbieżny
Zadanie 2: transakcyjny protokół SKJ (2015)
Zadanie 2: transakcyjny protokół SKJ (2015) 1 Wstęp Zadanie polega na zaprojektowaniu niezawodnego protokołu transakcyjnego bazującego na protokole UDP. Protokół ten ma być realizowany przez klasy implementujące
Specyfikacja API Runtime BAS 3.0
Specyfikacja API Runtime BAS 3.0 Spis treści Wstęp... 4 Informacja o dokumencie... 4 Opis usługi... 4 Typowy sposób wywołania usługi... 5 Udostępniane funkcje... 6 Funkcje liczące... 6 Execute... 6 SafeExecute...
Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.
T: Konfiguracja usługi HTTP w systemie Windows. Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http. HTTP (ang. Hypertext Transfer Protocol) protokół transferu plików
Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej
Politechnika Łódzka Instytut Systemów Inżynierii Elektrycznej Laboratorium komputerowych systemów pomiarowych Ćwiczenie 7 Wykorzystanie protokołu TCP do komunikacji w komputerowym systemie pomiarowym 1.
1. Tworzenie nowego projektu.
Załącznik do Instrukcji 1. Tworzenie nowego projektu. Wybieramy opcję z menu głównego New->QNX C Project. Wprowadzamy nazwę przechodzimy do następnego kroku NEXT. Wybieramy platformę docelową oraz warianty
Internet Control Message Protocol Aplikacja ping
Internet Control Message Protocol Aplikacja ping Zagadnienia: Protokół ICMP. Specyfikacja projektu ping. Specyfikacja struktur i funkcji programu. Struktura programu. dr Zbigniew Lipiński Instytut Matematyki
SUMA KONTROLNA (icmp_cksum) NUMER KOLEJNY (icmp_seq)
Program my_ping: wysłanie komunikatu ICMP z żądaniem echa Struktura icmp (plik netinet/ip_icmp.h) 0 7 8 15 16 31 TYP (icmp_type) KOD (icmp_code) IDENTYFIKATOR (icmp_id) SUMA KONTROLNA (icmp_cksum) NUMER
Przykłady interfejsu TCP i UDP w Javie
Przykłady interfejsu TCP i UDP w Javie W Javie interfejsy TCP i UDP znajdują się w pakiecie java.net http://docs.oracle.com/javase/6/docs/api/java/net/packagesummary.html 1 Przykład interfejsu UDP Protokół
Dokumentacja techniczna API systemu SimPay.pl
Wprowadzenie Dokumentacja techniczna API systemu SimPay.pl Wersja 1.0 z dnia 24.03.2015 r. API serwisu SimPay.pl opiera się o danych wysyłanych i zwracanych w formie JSON. W przypadku napotkania jakiegokolwiek
Proxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego.
Proxy (pełnomocnik) Cel: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego. Zastosowanie: Wszędzie tam, gdzie oczekujemy bardziej zaawansowanego odwołania do obiektu, niż zwykły
Co to jest NODE.JS? Nowoczesne środowisko programistyczne
Node.js Co to jest NODE.JS? Nowoczesne środowisko programistyczne Środowisko programistyczne w sensie zestawu gotowych klas i metod których można używać do przygotowania własnych skalowalnych i wydajnych
Wybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2017 APLIKACJE SIECIOWE Definicja Architektura aplikacji sieciowych Programowanie
Projektowanie oprogramowania systemów KOMUNIKACJA SIECIOWA I SYSTEMY RPC
Projektowanie oprogramowania systemów KOMUNIKACJA SIECIOWA I SYSTEMY RPC plan programowanie sieciowe BSD/POSIX Socket API systemy RPC interfejsy obiektowe CORBA DCOM RMI WebServices WSDL/SOAP XML-RPC REST
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Informacje które należy zebrać przed rozpoczęciem instalacji RelayFax.
Informacje które należy zebrać przed rozpoczęciem instalacji RelayFax. Program instalacyjny RelayFax będzie prosił o podanie kilku informacji w trakcie procesu instalacji, które są wymagane do poprawnego
Qt in Education. Sieć I drukowanie
Qt in Education Sieć I drukowanie. 1 Tłumaczenie i adaptacja: dr inż. Piotr Kaczmarka na podstawie kursu na podstawie materiału Diga Plc. Materiały służą do prowadzenia zajęć z informatyki dla studentów
Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java
Informatyka I Standard JDBC Programowanie aplikacji bazodanowych w języku Java dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Standard JDBC Java DataBase Connectivity uniwersalny
Programowanie rozproszone w języku Java
Wstęp Gniazda RMI Podsumowanie Programowanie rozproszone w języku Java Wojciech Rząsa wrzasa@prz-rzeszow.pl Katedra Informatyki i Automatyki, Politechnika Rzeszowska 25 maja 2015 Wojciech Rząsa, KIiA PRz
Kolejkowanie wiadomości Standard MQ (JMS)
Kolejkowanie wiadomości Standard MQ (JMS) Kolejkowanie wiadomości Standard wymiany informacji wiadomości (ang. message) między procesami (mogą być rozproszone) Przykładowe rozwiązania: - RabbitMQ - ActiveMQ
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float
Instalacja NOD32 Remote Administrator
Instalacja NOD32 Remote Administrator Program do zdalnego zarządzania stacjami roboczymi, na których zainstalowany jest program NOD32, składa się z dwóch modułów. Pierwszy z nich Remote Administrator Server
Gniazda BSD. komunikacja bezpołączeniowa
Gniazda BSD komunikacja bezpołączeniowa Użycie gniazd w transmisji bezpołączeniowej socket() socket() bind() bind() STOP! recv() żądanie send() send() odpowiedź recv() STOP! recvfrom() #include
Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl
Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl wersja.2.9 data 2014-11-21 Opis usług: P24 KOD P24 KLUCZ P24 WAPA SEND SMS Strona 1 z 8 P24 KOD Przebieg transakcji Operacje po stronie Sprzedawcy
Technologie sieciowe Sprawozdanie z labolatorium. Lista 5
Politechnika Wrocławska Wydział Podstawowych Problemów Techniki Technologie sieciowe Sprawozdanie z labolatorium Lista 5 Autor: Piotr Kosytorz IIrokInf. indeks: 166174 Prowadzący: dr inż. Łukasz Krzywiecki
Wskaźniki w C. Anna Gogolińska
Wskaźniki w C Anna Gogolińska Zmienne Zmienną w C można traktować jako obszar w pamięci etykietowany nazwą zmiennej i zawierający jej wartość. Przykład: kod graficznie int a; a a = 3; a 3 Wskaźniki Wskaźnik
Moduł Ethernetowy. instrukcja obsługi. Spis treści
Moduł Ethernetowy instrukcja obsługi Spis treści 1. Podstawowe informacje...2 2. Konfiguracja modułu...4 3. Podłączenie do sieci RS-485 i LAN/WAN...9 4. Przywracanie ustawień fabrycznych...11 www.el-piast.com
Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski
Sieci komputerowe Wykład 5: Warstwa transportowa: TCP i UDP Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 5 1 / 22 Warstwa transportowa Cechy charakterystyczne:
Instrukcja instalacji aplikacji i konfiguracji wersji sieciowej. KomKOD
Instrukcja instalacji aplikacji i konfiguracji wersji sieciowej KomKOD Firma KOMLOGO dochowała wszelakich starań, aby aplikacja działała poprawnie, jednak nie odpowiada za utratę zgromadzonych danych.
NS-2. Krzysztof Rusek. 26 kwietnia 2010
NS-2 Krzysztof Rusek 26 kwietnia 2010 1 Opis ćwiczenia Symulator ns-2 jest potężnym narzędziem, szeroko stosowanym w telekomunikacji. Ćwiczenie ma na cele przedstawić podstawy symulatora oraz symulacji
Specyfikacja techniczna. mprofi Interfejs API
Warszawa 09.04.2015. Specyfikacja techniczna mprofi Interfejs API wersja 1.0.2 1 Specyfikacja techniczna mprofi Interfejs API wersja 1.0.2 WERSJA DATA STATUTS AUTOR 1.0.0 10.03.2015 UTWORZENIE DOKUMENTU
część 8 wskaźniki - podstawy Jarosław Gramacki Instytut Informatyki i Elektroniki Podstawowe pojęcia
Język ANSI C część 8 wskaźniki - podstawy Jarosław Gramacki Instytut Informatyki i Elektroniki Podstawowe pojęcia najbardziej podstawowe operacje na wskaźnikach int x = 1, y = 2, Tab[10]; int *ip; // czy
Tablice, funkcje - wprowadzenie
Tablice, funkcje - wprowadzenie Przemysław Gawroński D-10, p. 234 Wykład 5 25 marca 2019 (Wykład 5) Tablice, funkcje - wprowadzenie 25 marca 2019 1 / 12 Outline 1 Tablice jednowymiarowe 2 Funkcje (Wykład
Statystyka protokołów i połączeń sieciowych.
Statystyka protokołów i połączeń sieciowych. Aplikacja netstat. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Statystyka połączeń sieciowych.
Zdalne wywoływanie procedur RPC
Zdalne wywoływanie procedur Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) }... int zabij_proces
Zdalne wywoływanie procedur RPC
Zdalne wywoływanie procedur Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status)... int zabij_proces (int
INSTRUKCJA KONFIGURACJI KLIENTA POCZTOWEGO
INSTRUKCJA KONFIGURACJI KLIENTA POCZTOWEGO UWAGA!!! Wskazówki dotyczą wybranych klientów pocztowych Zespół Systemów Sieciowych Spis treści 1. Konfiguracja klienta pocztowego Outlook Express 3 2. Konfiguracja
Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor
Instrukcja instalacji oprogramowania dla środowiska Windows
Instrukcja instalacji oprogramowania dla środowiska Windows Kurs.NET od podstaw Przygotuj się jeszcze przed zajęciami! Specyfikacja komputera.net od postaw minimum 8 GB RAM, rekomendowany procesor minimum
Biblioteka standardowa - operacje wejścia/wyjścia
Biblioteka standardowa - operacje wejścia/wyjścia Przemysław Gawroński D-10, p. 234 Wykład 6 15 stycznia 2019 (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 1 / 14 Outline