当前位置: 首页> 汽车> 新车 > 廊坊网站建设维护_商城网站设计需要哪些技术_免费seo排名网站_建设网站流程

廊坊网站建设维护_商城网站设计需要哪些技术_免费seo排名网站_建设网站流程

时间:2025/7/9 13:57:06来源:https://blog.csdn.net/qq_45938871/article/details/143954754 浏览次数: 0次
廊坊网站建设维护_商城网站设计需要哪些技术_免费seo排名网站_建设网站流程

多进程实现网络通信(TCP)

服务器端函数

#include <myhead.h>
#define PORT 8848
#define IP "192.168.60.78"
#define BACKLOG 20
void fun(int sss)
{if(sss==SIGCHLD){waitpid(-1,NULL,0);}
}
int main(int argc, const char *argv[])
{if(signal(SIGCHLD,fun)==SIG_ERR){perror("signal");return -1;}//int oldfd=socket(AF_INET,SOCK_STREAM,0);if(oldfd==-1){perror("socket");return -1;}//struct sockaddr_in server={.sin_family=AF_INET,.sin_port=htons(PORT),.sin_addr.s_addr=inet_addr(IP),};if((bind(oldfd,(struct sockaddr *)&server,sizeof(server))==-1)){perror("bind");	return -1;}//int n=11;if(setsockopt(oldfd,SOL_SOCKET,SO_REUSEADDR,&n,sizeof(n))==-1){perror("setsockopt");return -1; }printf("端口复用成功|\n");//if(listen(oldfd,BACKLOG)==-1){perror("listen");return -1;}//struct sockaddr_in client;socklen_t client_len=sizeof(client);char buff[1024];
while(1)
{pid_t pid=fork();int newfd=accept(oldfd,(struct sockaddr*)&client,&client_len);if(newfd==-1){perror("accept");return -1;}if(pid==0){printf("来自%s的连接",inet_ntoa(client.sin_addr));close(oldfd);while(1){memset(buff,0,sizeof(buff));int len=recv(newfd,buff,sizeof(buff),0);if(len==0){printf("客户端下线\n");break;}printf("消息:%s\n",buff);strcat(buff,"ok");	send(newfd,buff,sizeof(buff),0);}close(newfd);exit(0);}else if(pid>0){close(newfd);}else{perror("fork");return -1;}}return 0;
}

客户端函数

#include <myhead.h>
#define PORT 8848
#define IP "192.168.60.78"
int main(int argc, const char *argv[])
{int oldfd=socket(AF_INET,SOCK_STREAM,0);if(oldfd==-1){perror("socket");return -1;}//struct sockaddr_in server={.sin_family=AF_INET,.sin_port=htons(PORT),.sin_addr.s_addr=inet_addr(IP),};if((connect(oldfd,(struct sockaddr *)&server,sizeof(server)))==-1){perror("connect");	return -1;}char buff[1024];while(1){fgets(buff,sizeof(buff),stdin);buff[strlen(buff)-1]='\0';send(oldfd,buff,sizeof(buff),0);int len=recv(oldfd,buff,sizeof(buff),0);if(len==0){printf("服务器下线\n");break;}printf("服务器消息:%s\n",buff);}return 0;
}

关键字:廊坊网站建设维护_商城网站设计需要哪些技术_免费seo排名网站_建设网站流程

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: