菜单
  

    break;

    msg->data[strlen(msg->data)-1] = '\0';

    printf("cli:msg->data : %s \n", msg->data);

    send(sockfd, msg, sizeof(MSG), 0);

    recv(sockfd, msg, sizeof(MSG), 0);

    printf("\n %s\n", msg->data);

    }

    return 0;

    }

     

    //用户注册

    int usr_register(int sockfd, MSG *msg) {

    msg->type = R;  

    while(getchar() != '\n')

    continue;

    printf("register name: ");

    fgets(msg->name, NAME_SIZE, stdin); //fgets函数会将'\n'也保存到数组中

    if (strlen(msg->name) < 5){

    printf("\n name is too short!\n");

    return -1;

    }

    msg->name[strlen(msg->name)-1] = '\0'; //将数组中的‘\n'用‘\0’覆盖

    printf("passwd: ");

    fgets(msg->data, N, stdin);

    msg->data[strlen(msg->data)-1] = '\0';

    send(sockfd, msg, sizeof(MSG), 0); //向服务器发送注册信息

    recv(sockfd, msg, sizeof(MSG), 0); //接收服务器的消息

    printf("\n\t%s\n", msg->data);

    return 0;

    }

     

    //用户登录

    int login(int sockfd, MSG *msg) {

    msg->type = L;

    while(getchar() != '\n')

    continue;

    printf("login name: ");

    fgets(msg->name, 32, stdin);

    msg->name[strlen(msg->name)-1] = '\0';

    printf("passwd: ");

    fgets(msg->data, N, stdin);

    msg->data[strlen(msg->data)-1] = '\0';

    send(sockfd, msg, sizeof(MSG), 0);

    recv(sockfd, msg, sizeof(MSG), 0);

    printf("\n %s\n", msg->data);

    if (strncmp(msg->data, "welcome", 7) == 0) //判断用户是否登录成功

    return 1;

    else

    return 0;

    //查询单词

    int check_word(int sockfd, MSG *msg) {

    msg->type = C;

    while(getchar() != '\n')

    continue;

    while ( 1 ) {

    printf("input (# to quit) > ");

    fgets(msg->data, N, stdin);

    if (msg->data[0] == '\n') //判断用户是否输入要查询的单词

    continue;

    if (strncmp(msg->data, "#", 1) == 0) //#退出

    break;

    msg->data[strlen(msg->data)-1] = '\0';

    printf("msg->data : %s \n", msg->data);

    send(sockfd, msg, sizeof(MSG), 0);

    recv(sockfd, msg, sizeof(MSG), 0);

    printf("\n %s\n", msg->data);

    } return 0;

    }

    //查询历史记录

    int history_record(int sockfd, MSG *msg) {

    msg->type = H;

    send(sockfd, msg, sizeof(MSG), 0);

    while (recv(sockfd, msg, sizeof(MSG), 0) > 0) {

    if (strncmp(msg->data, "ok", 2) == 0) //如果服务器返回‘ok’说明成功 break;

    printf("%s\n", msg->data);

    if (strncmp(msg->data, "error", 5) == 0)

  1. 上一篇:asp.net+sqlserver在线社区信息管理系统的设计
  2. 下一篇:学院教务管理系统Android版学生模块设计与实现
  1. jsp小企业品质在线评分系统设计与实现

  2. php+mysql在线专家门诊预约系统的设计与实现

  3. jsp+sqlserver鲜花在线销售系统的设计+ER图

  4. 基于.net的在线考试系统网站设计与实现

  5. asp+sqlserver在线考试管理系统的设计与实现

  6. javamvc技术的在线考试系统的设计与实现

  7. Hadoop云计算环境下的Web应用日志安全威胁分析

  8. 当代大学生慈善意识研究+文献综述

  9. 大众媒体对公共政策制定的影响

  10. 电站锅炉暖风器设计任务书

  11. java+mysql车辆管理系统的设计+源代码

  12. 酸性水汽提装置总汽提塔设计+CAD图纸

  13. 乳业同业并购式全产业链...

  14. 十二层带中心支撑钢结构...

  15. 中考体育项目与体育教学合理结合的研究

  16. 杂拟谷盗体内共生菌沃尔...

  17. 河岸冲刷和泥沙淤积的监测国内外研究现状

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回