网站流量指的是什么意思,网站模版怎么做的,响应式网站区别,德州哪家网站优化好\qquad一个简单的客户端/服务端通信程序。 \qquad服务端#xff1a;将客户端上传的字符串#xff0c;改为大写字符串#xff0c;并且显示客户端的IP和端口号。
#includestdio.h
#includeunistd.h
#includesys/socket.h
#includestdlib.h
#…\qquad一个简单的客户端/服务端通信程序。 \qquad服务端将客户端上传的字符串改为大写字符串并且显示客户端的IP和端口号。
#includestdio.h
#includeunistd.h
#includesys/socket.h
#includestdlib.h
#includectype.h
#includearpa/inet.h#define SERV_PORT 6666
int main()
{int lfd,cfd;struct sockaddr_in serv_addr,clie_addr;socklen_t clie_addr_len,clie_IP_len;char buf[BUFSIZ],clie_IP[BUFSIZ];int n,ret;lfd socket(AF_INET,SOCK_STREAM,0);if(lfd-1){perror(socket error);exit(1);}serv_addr.sin_family AF_INET;serv_addr.sin_port htons(SERV_PORT);serv_addr.sin_addr.s_addr htonl(INADDR_ANY);ret bind(lfd,(struct sockaddr *)serv_addr,sizeof(serv_addr));if(ret-1){perror(bind error);exit(1);} ret listen(lfd,128);if(ret-1){perror(listen error);exit(1);}clie_addr_len sizeof(clie_addr);cfd accept(lfd,(struct sockaddr *)clie_addr,clie_addr_len);if(cfd-1){perror(accept error);exit(1);}printf(client IP:%s,client port:%d\n,inet_ntop(AF_INET,clie_addr.sin_addr.s_addr,clie_IP,sizeof(clie_IP)),ntohs(clie_addr.sin_port));while(1){n read(cfd,buf,sizeof(buf));for(int i0;in;i){buf[i] toupper(buf[i]);}write(cfd,buf,n);}close(lfd);close(cfd);return 0;
}\qquad客户端将字符串上传到服务端
#include stdio.h
#includeunistd.h
#includestdlib.h
#includesys/socket.h
#includearpa/inet.h
#includestring.h
#define SERV_IP 192.168.0.2
#define SERV_PORT 6666
int main()
{int cfd;struct sockaddr_in serv_addr;socklen_t serv_addr_len;char buf[BUFSIZ];int n;cfd socket(AF_INET,SOCK_STREAM,0);memset(serv_addr,0,sizeof(serv_addr)); serv_addr.sin_family AF_INET;serv_addr.sin_port htons(SERV_PORT);inet_pton(AF_INET,SERV_IP,serv_addr.sin_addr.s_addr);connect(cfd,(struct sockaddr *)serv_addr,sizeof(serv_addr));while(1){fgets(buf,sizeof(buf),stdin);write(cfd,buf,strlen(buf));n read(cfd,buf,sizeof(buf));write(STDOUT_FILENO,buf,n);} close(cfd);return 0;
}