设为首页 加入收藏

TOP

基于Linux Socket 简单学生信息管理系统Server程序(二)
2014-11-24 14:30:31 来源: 作者: 【 】 浏览:1
Tags:基于 Linux Socket 简单 学生 信息 管理系统 Server 程序
ntf("listening......\n");
if((client_fd=accept(sockfd,(struct sockaddr *)&client_sockaddr,&sin_size))==-1)
{
perror("accept");
exit(1);
}



while(1)
{ if((recvbytes=recv(client_fd,&recv_cmd_data,sizeof(struct cmd_data),MSG_WAITALL))==-1)
{
perror("recv");
exit(1);
}
strcpy(recv_stu.name,recv_cmd_data.recv_stt.name);
recv_stu.age = recv_cmd_data.recv_stt.age;
recv_stu.height= recv_cmd_data.recv_stt.height;
recv_stu.sex = recv_cmd_data.recv_stt.sex;
printf("%c\n",recv_cmd_data.ch);
switch(recv_cmd_data.ch)
{
case'i':if((head = insert_from_head(head,&recv_stu))==NULL)
{
perror("not insert");
exit(1);
}
// memset(&W_buf,0,W_LEN);
// W_buf=*head;



printf("name=%s,age=%d,height=%d,sex=%c",\
head->std.name,head->std.age,head->std.height,head->std.sex);
if((fd=open("/home/fcf/socket/student.txt",O_CREAT|O_APPEND|O_RDWR,0666))<0)
{
perror("open:");
exit(1);
}
else
{
printf("open file:%d\n",fd);
}
if(( W_size = write(fd,head,NODE_LEN))<0)
{
perror("write:");
exit(1);
}
// printf("name=%s,age=%d,height=%d,sex=%c",\
// head->std.name,head->std.age,head->std.height,head->std.sex);
close(fd);
break;
case'd':delete_by_name(head,recv_stu.name);
break;
case's':
s_search_data=search_by_name(head,recv_stu.name);
printf("www....\n");
if(s_search_data!=NULL)
{
// break;
// }
if(send(client_fd,s_search_data,sizeof(node),0)==-1)
{
perror("send");
exit(1);
}
}


else
{
printf("no data:\n");
break;
}
break;
case'p':print_list(head);//print all students information
break;
default:break;
//send(client_fd,&send_error_buf,sizeof(send_error_buf),0);
// exit(1);
}
} if(send(client_fd,&recv_stu,sizeof(struct student),0)==-1) {
perror("send");
exit(1);
}



printf(" sever:\n");
print_list(insert_from_head(head,&recv_stu));
// }



// printf("name=%s\nage=%d\nheight=%d\nsex=%c\n",\
// recv_stu.name,recv_stu.age,recv_stu.height,recv_stu.sex);
close(sockfd);
}


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇利用Linux中IIC子系统做IIC驱动 下一篇基于Linux Socket 简单学生信息管..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: