69,373
社区成员
发帖
与我相关
我的任务
分享
while(1) {
/* 服务器阻塞,直到客户程序建立连接 */
sin_size=sizeof(struct sockaddr_in);
if ((new_fd=accept(sockfd,(struct sockaddr *)(&client_addr),&sin_size)) == -1)
{
fprintf(stderr,"Accept error:%s",strerror(errno));
exit(1);
}
fprintf(stderr,"Server get connection from %s",inet_ntoa(client_addr.sin_addr)); //程序到这里还有输出
bzero(recvbuff,50);
bzero(&p,sizeof(p));
int len = recv(sockfd,recvbuff,50,0); //这里len一直返回-1
if (len > 0)
{
memcpy(&p,recvbuff,sizeof(p));
printf("%d,%d",p.id,p.money);
}
close(new_fd);
}
if(connect(sockfd,(struct sockaddr *)(&server_addr),sizeof(struct sockaddr))==-1)
{
fprintf(stderr,"Connect Error:%s ",strerror(errno));
exit(1);
}
while(1)
{
bzero(sendbuff,50);
bzero(&p,sizeof(p));
printf("please input id and money\n");
scanf("%d %d",&p.id,&p.money);
memcpy(sendbuf,&p,sizeof(p));
int len = send(sockfd,sendbuff,sizeof(sendbuff),0); //这里len是大于0的
}