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)

上一篇:asp.net+sqlserver在线社区信息管理系统的设计
下一篇:学院教务管理系统Android版学生模块设计与实现

多频激励下典型非线性系统的振动特性研究

基于MOODLE平台的在线交互式学习设计

jsp《计算机硬件技术基础...

大数据时代下电子商务个性化信息服务研究

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

基于JSP的课堂在线测试系统的设计与实现

基于Linux的员工管理系统的设计与实现

STC89C52单片机NRF24L01的无线病房呼叫系统设计

AES算法GPU协处理下分组加...

浅论职工思想政治工作茬...

基于Joomla平台的计算机学院网站设计与开发

酵母菌发酵生产天然香料...

压疮高危人群的标准化中...

提高教育质量,构建大學生...

浅谈高校行政管理人员的...

从政策角度谈黑龙江對俄...

上海居民的社会参与研究