www.pudn.com > Server.rar > Server.c
/* Server */ #include#include #include #include #include #include #include #define PORT 8765 int main(void){ int server_sk, client_sk, rec; struct sockaddr_in6 saddr; struct sockaddr_in6 caddr; int caddrLen = sizeof(caddr); char buf[BUFSIZ]; char bufAddr[] = "fec0:1::203:ffff:fe65:4aa0"; int bufAddrLen = strlen(bufAddr); if((server_sk = socket(AF_INET6, SOCK_DGRAM, 0)) < 0){ perror("socket"); exit(1); } memset(&saddr, 0, sizeof(saddr)); saddr.sin6_family = AF_INET6; saddr.sin6_port = htons(PORT); if(bind(server_sk, (struct sockaddr *)&saddr, sizeof(saddr)) < 0){ perror("bind"); exit(1); } if((rec = recvfrom(server_sk, buf, BUFSIZ, 0, (struct sockaddr *)&caddr, &caddrLen)) < 0){ perror("recvfrom"); exit(1); } buf[rec] = '\0'; printf("%s\n", buf); if(sendto(server_sk, bufAddr, bufAddrLen, 0, (struct sockaddr *)&caddr, caddrLen) != bufAddrLen){ perror("sendto"); exit(1); } if(server_sk < 0){ close(server_sk); } return 0; }