简单的Linux客户-服务器网络程序

    技术2022-05-11  61

       下面这段程序中,服务器监听5000端口,客户端通过TCP连接上去以后,服务器会向客户端发送“Hello,success”字符串。程序非常简单,却实现了基本功能。

     服务器端程序如下

    #include  < sys / socket.h > #include  < netinet / in .h > int  main() {  int listensock,connsock;  const char buff[]="Hello,success";  struct sockaddr_in serveraddr;  bzero(&serveraddr,sizeof(serveraddr));  listensock=socket(AF_INET,SOCK_STREAM,0);  serveraddr.sin_family=AF_INET;  serveraddr.sin_addr.s_addr=htonl(INADDR_ANY);  serveraddr.sin_port=htons(5000);  bind(listensock,(struct sockaddr*)&serveraddr,sizeof(serveraddr));  printf("begin to listen on port 5000... ");  listen(listensock,1024);  connsock=accept(listensock,NULL,NULL);  send(connsock,buff,sizeof(buff),0);  close(connsock);  close(listensock);}

    客户端程序如下

    #include  < sys / socket.h > #include  < netinet / in .h > int  main( int  argc, char   * argv[]) int sockfd; char buffer[100]; struct sockaddr_in serveraddr; bzero(&serveraddr,sizeof(serveraddr)); serveraddr.sin_family=AF_INET; serveraddr.sin_port=htons(5000); inet_pton(AF_INET,"192.168.9.9",&serveraddr.sin_addr); sockfd=socket(AF_INET,SOCK_STREAM,0); int value=connect(sockfd,(struct sockaddr *)&serveraddr,sizeof(serveraddr)); if(value==0)  printf("connect succeed "); else  printf("connect failed "); recv(sockfd,buffer,sizeof(buffer),0); printf("%s ",buffer); close(sockfd);}

     

     

     


    最新回复(0)