1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 #include <sys/socket.h> 5 #include <netinet/in.h> 6 int main() 7 { 8 int sc = 0; 9 int ret = 0; 10 int fd = 0; 11 unsigned char data[1024] = {0}; 12 sc = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); 13 if(sc < 0){ 14 perror("socket"); 15 return 1; 16 } 17 struct sockaddr_in gg; 18 gg.sin_family = AF_INET; 19 gg.sin_port = htons(9527); 20 gg.sin_addr.s_addr = inet_addr("192.168.31.238"); //这里写上自己的IP,因为访问者肯定要写主机的IP对吧。 21 22 ret = bind(sc, (struct sockaddr *)&gg, 16); 23 if(ret < 0){ 24 perror("bind"); 25 return 1; 26 } 27 28 ret = listen(sc, 10); 29 if(ret < 0){ 30 perror("listen"); 31 return 1; 32 } 33 34 struct sockaddr_in nfd; 35 int nfd_len = 0; 36 fd = accept(sc, (struct sockaddr *)&nfd, &nfd_len); 37 if(ret < 0){ 38 perror("accept"); 39 return 1; 40 } 41 42 ret = recv(fd, data, 1024, 0); 43 if(ret < 0){ 44 perror("recv"); 45 return 1; 46 } 47 48 printf("client say : %s\n", data); 49 close(sc); 50 close(nfd); 51 }
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <sys/socket.h> 4 #include <string.h> 5 #include <netinet/in.h> 6 7 int main() 8 { 9 int ret = 0; 10 int fd = 0; 11 int sc = 0; 12 unsigned char data[1024] = {0}; 13 unsigned char arr[1024] = {0}; 14 sc = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); 15 if(sc < 0){ 16 perror("socket"); 17 return 1; 18 } 19 20 struct sockaddr_in mm; 21 mm.sin_family = AF_INET; 22 mm.sin_port = htons(9527); 23 mm.sin_addr.s_addr = inet_addr("192.168.31.154");; 24 25 ret = connect(sc, (struct sockaddr *)&mm, 16); 26 if(ret < 0){ 27 perror("connect"); 28 return 1; 29 } 30 struct sockaddr_in gg; 31 gg.sin_family = AF_INET; 32 gg.sin_port = htons(9527); 33 gg.sin_addr.s_addr = inet_addr("192.168.31.238");; 34 35 ret = bind(sc, (struct sockaddr *)&gg, 16); 36 if(ret < 0){ 37 perror("bind"); 38 return 1; 39 } 40 41 ret = listen(sc, 10); 42 if(ret < 0){ 43 perror("listen"); 44 return 1; 45 } 46 47 struct sockaddr_in nfd; 48 int nfd_len = 0; 49 fd = accept(sc, (struct sockaddr *)&nfd, &nfd_len); 50 if(ret < 0){ 51 perror("accept"); 52 return 1; 53 } 54 while(1){ 55 read(0, data, 1024); 56 57 ret = send(sc, data, 1024, 0); 58 if(ret < 0){ 59 perror("send"); 60 return 1; 61 } 62 ret = recv(fd, arr, 1024, 0); 63 if(ret < 0){ 64 perror("recv"); 65 return 1; 66 } 67 68 printf("client say : %s\n", arr); 69 70 } 71 72 73 close(sc); 74 75 }