client.c

来自「cs89000的驱动编写。很有助于新手学习。本人看了以后觉得受益非浅。在此与大家」· C语言 代码 · 共 78 行

C
78
字号
#include <stdio.h>#include <sys/socket.h>#include <unistd.h>#include <sys/types.h>#include <netinet/in.h>#include <stdlib.h> #define SERVER_PORT 12345 // define the defualt connect port id#define CLIENT_PORT 12345 // define the defualt client port as a random port #define BUFFER_SIZE 255#define REUQEST_MESSAGE "welcome to connect the server.\n"int main(int argc, char **argv){            int servfd,clifd,length = 0;       struct sockaddr_in servaddr,cliaddr;       socklen_t socklen = sizeof(servaddr);       char buf[BUFFER_SIZE];while(1){       if ((clifd = socket(AF_INET,SOCK_STREAM,0)) < 0)       {              printf("create socket error!\n");              exit(1);       }       srand(time(NULL));//initialize random generator       bzero(&cliaddr,sizeof(cliaddr));       cliaddr.sin_family = AF_INET;       cliaddr.sin_port = htons(CLIENT_PORT);       cliaddr.sin_addr.s_addr = htons(INADDR_ANY);       servaddr.sin_family = AF_INET;       inet_aton("192.168.1.248",&servaddr.sin_addr);       servaddr.sin_port = htons(SERVER_PORT);       //servaddr.sin_addr.s_addr = htons("192.168.1.4");/*       if (bind(clifd,(struct sockaddr*)&cliaddr,sizeof(cliaddr))<0)       {              printf("bind to port %d failure!\n",CLIENT_PORT);              exit(1);       }*/       if (connect(clifd,(struct sockaddr*)&servaddr, socklen) < 0)       {              printf("can't connect to %s!\n",argv[1]);              exit(1);       }              length = recv(clifd,buf,BUFFER_SIZE,0);       if (length < 0)       {              printf("error comes when recieve data from server %s!",argv[1]);              exit(1);       }       printf("from server %s :\n\t%s ",argv[1],buf);//sleep(2);       close(clifd);}       return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?