1 #include2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 9 int main() {10 /* socket */11 int soc_ser_l=socket(PF_INET,SOCK_STREAM,0);12 13 /* creat server sockaddr_in */14 struct sockaddr_in ser_addr;15 ser_addr.sin_family=AF_INET;16 ser_addr.sin_addr.s_addr=htonl(INADDR_ANY);17 ser_addr.sin_port=htons(8888);18 memset(ser_addr.sin_zero,0,8);19 20 /* bind connect socket and ip/port */21 if(bind(soc_ser_l,(struct sockaddr*)&ser_addr,sizeof(ser_addr))==-1)22 {23 printf("bind error");24 return 0;25 }26 27 /* listen */28 if(listen(soc_ser_l,20)==-1)29 {30 printf("listen error");31 return 0;32 }33 /* creat items */34 int soc_ser_t;35 struct sockaddr_in cli_addr;36 while (1){37 /* accept */38 int len=sizeof(ser_addr);39 soc_ser_t=accept(soc_ser_l,(struct sockaddr *)&cli_addr,&len);40 if(soc_ser_t==-1){41 perror("accept error");42 exit(1);43 }44 45 /* recv data */46 char recv_buf[255];47 int ret=recv(soc_ser_t,recv_buf,255,0);48 if(ret>0){49 recv_buf[ret]='\0';50 printf("server recv:");51 printf("%s\n",recv_buf);52 }53 54 /* send data */55 char send_msg_str[100];56 printf("server send:");57 fgets(send_msg_str,100,stdin);58 *(strchr(send_msg_str,'\n'))='\0';59 send(soc_ser_t,send_msg_str,strlen(send_msg_str),0);60 close(soc_ser_t);61 }62 63 close(soc_ser_l);64 return 0;65 }
1 #include2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 9 int main(){10 /* creat client socket */11 int soc_cli=socket(PF_INET,SOCK_STREAM,0);12 /* creat server sockaddr_in */13 struct sockaddr_in ser_addr;14 ser_addr.sin_family=PF_INET;15 ser_addr.sin_addr.s_addr=inet_addr("192.168.195.129");16 ser_addr.sin_port=htons(8888);//8888 port number has no ""17 memset(ser_addr.sin_zero,0,8);18 19 20 /* connect */21 if(connect(soc_cli,(struct sockaddr*)&ser_addr,sizeof(ser_addr))==-1){22 printf("connect error");23 return 0;24 }25 26 27 /* send */28 char cli_send_str[100];29 printf("client send:");30 fgets(cli_send_str,100,stdin);31 *(strchr(cli_send_str,'\n'))='\0';32 33 send(soc_cli,cli_send_str,strlen(cli_send_str),0);34 35 /* recv */36 char cli_recv[255];37 int ret=recv(soc_cli,cli_recv,255,0);38 if(ret>0){39 cli_recv[ret]='\0';40 printf("client recv:");41 printf("%s\n",cli_recv);42 }43 44 close(soc_cli);45 return 0;46 }