Simple TCP Server Client Socket C
生活随笔
收集整理的這篇文章主要介紹了
Simple TCP Server Client Socket C
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉載鏈接:http://blog.163.com/caipeipei_love@126/blog/static/2596603220101118433940/
tcpserver.c
tcpclient.c #include<stdlib.h> #include<stdio.h> #include<string.h> #include<netdb.h> #include<sys/types.h> #include<netinet/in.h> #include<sys/socket.h> #include<unistd.h> #include<arpa/inet.h> #include<errno.h>int main(int argc,char *argv[]) {int sockfd;char sendbuffer[200];char recvbuffer[200];// char buffer[1024];struct sockaddr_in server_addr;struct hostent *host;int portnumber,nbytes;if(argc!=3){fprintf(stderr,"Usage :%s hostname portnumber\a\n",argv[0]);exit(1);}if((host=gethostbyname(argv[1]))==NULL){herror("Get host name error\n");exit(1);}if((portnumber=atoi(argv[2]))<0){fprintf(stderr,"Usage:%s hostname portnumber\a\n",argv[0]);exit(1);}if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1){fprintf(stderr,"Socket Error:%s\a\n",strerror(errno));exit(1);}bzero(&server_addr,sizeof(server_addr));server_addr.sin_family=AF_INET;server_addr.sin_port=htons(portnumber);server_addr.sin_addr=*((struct in_addr *)host->h_addr);if(connect(sockfd,(struct sockaddr *)(&server_addr),sizeof(struct sockaddr))==-1){fprintf(stderr,"Connect error:%s\n",strerror(errno));exit(1);}while(1){printf("Please input your word:\n");scanf("%s",sendbuffer);printf("\n");if(strcmp(sendbuffer,"quit")==0)break;send(sockfd,sendbuffer,sizeof(sendbuffer),0);recv(sockfd,recvbuffer,200,0);printf("recv data of my world is :%s\n",recvbuffer);}// if((nbytes=read(sockfd,buffer,1024))==-1)//{ // fprintf(stderr,"read error:%s\n",strerror(errno)); // exit(1);// }// buffer[nbytes]='\0';// printf("I have received %s\n",buffer);close(sockfd);exit(0); }
首先要編譯tcpserver.c,命令:
gcc -g tcpserver.c -o tcpserver
./tcpserver 8080
然后再編譯tcpclient.c,具體命令:
gcc -g tcpclient.c -o tcpclient
./tcpclient localhost 8080
總結
以上是生活随笔為你收集整理的Simple TCP Server Client Socket C的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Latex安装教程 —— textliv
- 下一篇: 关于DNF的多媒体包NPK文件的那些事儿