--- /dev/null
+/* Sample UDP server */\r
+\r
+#include <sys/socket.h>\r
+#include <netinet/in.h>\r
+#include <stdlib.h>\r
+#include <stdio.h>\r
+#include <strings.h>\r
+\r
+int main(int argc, char**argv)\r
+{\r
+ int sockfd,n;\r
+ struct sockaddr_in servaddr,cliaddr;\r
+ socklen_t len;\r
+ char mesg[1000];\r
+\r
+ printf("DEBUT\n");\r
+ if (argc != 2)\r
+ {\r
+ fprintf(stderr, "usage: %s <port>\n", argv[0]);\r
+ exit(1);\r
+ }\r
+\r
+ sockfd = socket(AF_INET,SOCK_DGRAM,0);\r
+ if(sockfd < 0){\r
+ perror("socket");\r
+ exit(1);\r
+ }\r
+\r
+ bzero(&servaddr,sizeof(servaddr));\r
+ servaddr.sin_family = AF_INET;\r
+ servaddr.sin_addr.s_addr=htonl(INADDR_ANY);\r
+ servaddr.sin_port = htons(atoi(argv[1]));\r
+ if(bind(sockfd,(struct sockaddr *)&servaddr,sizeof(servaddr)) < 0){\r
+ perror("bind");\r
+ exit(2);\r
+ }\r
+\r
+ for (;;)\r
+ {\r
+ len = sizeof(cliaddr);\r
+ n = recvfrom(sockfd,mesg,1000,0,(struct sockaddr *)&cliaddr,&len);\r
+ if(n < 0){\r
+ perror("recvfrom");\r
+ continue;\r
+ }\r
+ if(n==1){\r
+ exit(0);\r
+ }\r
+ mesg[n] = 0;\r
+ printf("[%s]\n",mesg);\r
+ }\r
+ printf("FIN\n");\r
+}\r