Narzędzia użytkownika

Narzędzia witryny


sk2:sockets_intro

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
sk2:sockets_intro [2022/10/03 20:20]
jkonczak [Adresacja połączeń na warstwie transportu]
sk2:sockets_intro [2023/10/10 16:54] (aktualna)
jkonczak [Hello world]
Linia 84: Linia 84:
 Przykład wysłania liczby 0x010F, czyli 271, czyli 0b0000000100001111 Przykład wysłania liczby 0x010F, czyli 271, czyli 0b0000000100001111
 |byte order\bit order|MSB first|LSB first| | | |byte order\bit order|MSB first|LSB first| | |
-|little endian|0000111100000001|1111000010000000| x86 |<​html><​div style="​margin-top:​1em">​ARM,​ IA-64 (Itanium), SPARC≥v9</​div></​html>​|+|little endian|0000111100000001|1111000010000000| x86/​x86_64 ​|<​html><​div style="​margin-top:​1em">​ARM,​ IA-64 (Itanium), SPARC≥v9, RISC-V</​div></​html>​|
 |big endian|0000000100001111|1000000011110000|Motorola 68k, SPARC<​v9,​ z/Arch| :::| |big endian|0000000100001111|1000000011110000|Motorola 68k, SPARC<​v9,​ z/Arch| :::|
 | |  I²C, SDH  |  Ethernet, RS232, USB  | | | |  I²C, SDH  |  Ethernet, RS232, USB  | |
Linia 128: Linia 128:
     * rodzina adresów IPv4 – stała ''​AF_INET''​     * rodzina adresów IPv4 – stała ''​AF_INET''​
     * port – 13 (port usługi daytime; pamiętaj o porządku bajtów - ''​htons''​)     * port – 13 (port usługi daytime; pamiętaj o porządku bajtów - ''​htons''​)
-    * adres IP – 127.0.0.1 (localhost, do konwersji użyj ''​inet_addr''​ lub ''​inet_aton''​);​ \\ można też ustawić adres na stałą ''​htonl(INADDR_LOOPBACK)''​. \\  <​html><​small></​html>​ Uwaga: ''​.sin_addr''​ to struktura typu ''​in_addr''​ z jedną składową ''​.s_addr''​ typu ''​uint32_t''​ \\ ''​inet_addr''​ przyjmuje wskaźnik na strukturę, natomiast ''​inet_aton''​ zwraca liczbę którą trzeba przypisać składowej ''​.s_addr'':​ \\ <code cpp>​sockaddr_in nazwa_zmiennej;​+    * adres IP – 127.0.0.1 (localhost, do konwersji użyj ''​inet_addr''​ lub ''​inet_aton''​);​ \\ można też ustawić adres na stałą ''​htonl(INADDR_LOOPBACK)''​. \\  <​html><​small></​html>​ Uwaga: ''​.sin_addr''​ to struktura typu ''​in_addr''​ z jedną składową ''​.s_addr''​ typu ''​uint32_t''​ \\ ''​inet_aton''​ przyjmuje wskaźnik na strukturę, natomiast ''​inet_addr''​ zwraca liczbę którą trzeba przypisać składowej ''​.s_addr'':​ \\ <code cpp>​sockaddr_in nazwa_zmiennej;​
 wersja 1: nazwa_zmiennej.sin_addr.s_addr = inet_addr("​8.8.8.8"​);​ wersja 1: nazwa_zmiennej.sin_addr.s_addr = inet_addr("​8.8.8.8"​);​
 wersja 2: inet_aton("​8.8.8.8",​ &​nazwa_zmiennej.sin_addr);​ wersja 2: inet_aton("​8.8.8.8",​ &​nazwa_zmiennej.sin_addr);​
sk2/sockets_intro.1664821238.txt.gz · ostatnio zmienione: 2022/10/03 20:20 przez jkonczak