Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| workshop:sockets [2010-09-29 17:59] – equinox | workshop:sockets [2025-11-09 09:25] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 10: | Line 10: | ||
| Es folgen ein paar simple Beispielprogramme die die Verwendung von Sockets unter Unix zeigen. Alle Beispiele und ein kleines Makefile können auch direkt per unten stehendem Link heruntergeladen werden: | Es folgen ein paar simple Beispielprogramme die die Verwendung von Sockets unter Unix zeigen. Alle Beispiele und ein kleines Makefile können auch direkt per unten stehendem Link heruntergeladen werden: | ||
| - | {{workshops: | + | {{workshop: |
| Es folgt noch der Code für einen sehr simplen Chat Server anhand dessen die Verwendung des Resolvers (DNS etc.) gezeigt wird. | Es folgt noch der Code für einen sehr simplen Chat Server anhand dessen die Verwendung des Resolvers (DNS etc.) gezeigt wird. | ||
| Line 64: | Line 64: | ||
| } | } | ||
| | | ||
| - | struct sockaddr_in local_addr; | ||
| - | memset((char *) & | ||
| - | local_addr.sin_family = AF_INET; | ||
| - | local_addr.sin_port = htons(4321); | ||
| - | local_addr.sin_addr.s_addr = htonl(INADDR_ANY); | ||
| - | |||
| - | if(bind(sock, | ||
| - | perror(" | ||
| - | exit(-1); | ||
| - | } | ||
| - | |||
| struct sockaddr_in remote_addr; | struct sockaddr_in remote_addr; | ||
| int alen, len; | int alen, len; | ||
| Line 105: | Line 94: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| ==== Beispiel: udpserver ==== | ==== Beispiel: udpserver ==== | ||
| Line 313: | Line 303: | ||
| #include < | #include < | ||
| #include < | #include < | ||
| - | |||
| #include < | #include < | ||
| + | |||
| + | #include < | ||
| int main(int argc, char** argv) | int main(int argc, char** argv) | ||
| Line 348: | Line 339: | ||
| uint8_t buffer[1500]; | uint8_t buffer[1500]; | ||
| struct sockaddr_in remote_addr; | struct sockaddr_in remote_addr; | ||
| - | | + | |
| + | int len, alen=sizeof(remote_addr); | ||
| for (;;) { | for (;;) { | ||
| memcpy(& | memcpy(& | ||