Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
workshop:sockets [2010-09-29 19:59]
equinox
workshop:sockets [2010-09-30 23:23]
equinox
Line 64: Line 64:
   }   }
     ​     ​
-  struct sockaddr_in local_addr; 
-  memset((char *) &​local_addr,​ 0, sizeof(local_addr));​ 
-  local_addr.sin_family = AF_INET; 
-  local_addr.sin_port = htons(4321);​ 
-  local_addr.sin_addr.s_addr = htonl(INADDR_ANY);​ 
- 
-  if(bind(sock,​ (struct sockaddr *)&​local_addr,​ sizeof(local_addr))==-1) {  
-    perror("​bind() call failed"​);​ 
-    exit(-1); 
-  } 
- 
   struct sockaddr_in remote_addr;​   struct sockaddr_in remote_addr;​
   int alen, len;   int alen, len;
Line 105: Line 94:
 } }
 </​file>​ </​file>​
 +
 ==== Beispiel: udpserver ==== ==== Beispiel: udpserver ====
  
Line 313: Line 303:
 #include <​sys/​types.h>​ #include <​sys/​types.h>​
 #include <​sys/​socket.h>​ #include <​sys/​socket.h>​
- 
 #include <​arpa/​inet.h>​ #include <​arpa/​inet.h>​
 +
 +#include <​sys/​select.h>​
  
 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 alen, len;+  ​memset (&​remote_addr0, sizeof(remote_addr));​ 
 +  int len, alen=sizeof(remote_addr);
   for (;;) {   for (;;) {
     memcpy(&​tmpfds,​ &​readfds,​ sizeof(tmpfds));​     memcpy(&​tmpfds,​ &​readfds,​ sizeof(tmpfds));​
realraum Graz, Brockmanngasse 15, 8010 Graz, realraum - Verein für Technik in Kultur und Gesellschaft
  • /var/lib/dokuwiki/data/pages/workshop/sockets.txt
  • Last modified: 2015-09-16 12:41
  • (external edit)