客户端历史查询模块

int do_history(int sockfd, MSG *msg)
{msg->type = H;send(sockfd, msg, sizeof(MSG), 0);// 接受服务器,传递回来的历史记录信息while(1){recv(sockfd, msg, sizeof(MSG), 0);if(msg->data[0] == '\0')break;//输出历史记录信息printf("%s\n", msg->data);}return 0;
}

服务器历史查询模块

// 得到查询结果,并且需要将历史记录发送给客户端
int history_callback(void* arg,int f_num,char** f_value,char** f_name)
{// record  , name  , date  , word int acceptfd;MSG msg;acceptfd = *((int *)arg);sprintf(msg.data, "%s , %s", f_value[1], f_value[2]);send(acceptfd, &msg, sizeof(MSG), 0);return 0;
}int do_history(int acceptfd, MSG *msg, sqlite3 *db)
{char sql[128] = {};char *errmsg;sprintf(sql, "select * from record where name = '%s'", msg->name);//查询数据库if(sqlite3_exec(db, sql, history_callback,(void *)&acceptfd, &errmsg)!= SQLITE_OK){printf("%s\n", errmsg);}else{printf("Query record done.\n");}// 所有的记录查询发送完毕之后,给客户端发出一个结束信息msg->data[0] = '\0';send(acceptfd, msg, sizeof(MSG), 0);return 0;
}

功能测试

网络编程在线英英词典之历史查询模块(六)相关推荐

  1. Linux网络编程——在线词典项目

    目录 一.要求 二.框架 三.各部分的实现 客户端 注册 登录 查询 历史查询 服务器 解析客户端命令 注册 登录 单词查询 时间获取 查询单词成功向数据库插入时间等信息 历史查询 四.项目源码 客户 ...

  2. 基于数据库及TCP网络编程实现的电子词典

    目录 一.前言 二.项目介绍 三.功能实现 3.1. 用户注册 3.1.1 功能演示 3.1.2 功能函数实现 3.2. 用户登录 3.2.1 功能演示 3.2.2 功能函数实现 3.3. 查询单词 ...

  3. python网络编程

    python学习记录--网络编程 1.套接字介绍 一台机器上的不同进程之间进行通信可以利用队列,管道等,但是不同机器之间的进程进行通信用队列是不行的,解决这个问题就是网络套接字. 套接字是计算机网络数 ...

  4. python网络编程爬虫_Python爬虫--网络编程

    Python 网络编程 Python提供两个基本的Socket模块: Socket,提供了标准的BSD Sockets API SocketServer, 提供了服务器中心类,可以简化网络服务器的开发 ...

  5. python网络编程自学_五分钟搞定Python网络编程实现TCP和UDP连接

    Python网络编程实现TCP和UDP连接, 使用socket模块, 所有代码在python3下测试通过. 实现TCP#!/usr/bin/env python3 # -*- coding: utf- ...

  6. Linux网络编程之六 --在线英英字典的实现

    综合项目:在线英英字典 服务器端 head.h: ​ server.c do_client.c Makefile 客户端 head.h client.c Makefile 关注微信公众号获取更多资讯

  7. 基于linux的在线英汉词典(带源码)

    源码下载: 基于Linux的在线英汉词典-网络基础文档类资源-CSDN文库https://download.csdn.net/download/qq_63626307/86744311?spm=100 ...

  8. c语言电子英汉词典编程报告,电子英汉词典的编程C语言报告.doc

    课程设计(论文) 课 题: 电子英汉词典的编程 学 院: 专 业: 学生姓名: 学 号: 指导老师 : 目录 *内容摘要-----------.---..-------------..3 *关键词-- ...

  9. 通过游戏编程学Python(6)— 英汉词典、背单词

    通过游戏编程学Python 通过游戏编程学Python(番外篇)- 乱序成语.猜单词 通过游戏编程学Python(5)- 猜成语(下) 通过游戏编程学Python(4)- 猜成语(上) 文章目录 通过 ...

  10. python软件界面翻译_python英汉词典,在线翻译器,带GUI界面下载

    使用请求模块获得的职位信息有道词典网页,BeautifulSoup获得所需的内容,并生成gui界面通过tkinter模块.2. Python实现翻译工具git源代码地址代码如下:# !\/bin\/e ...

最新文章

  1. Winform 控件自适应 JSP 入门登录案例
  2. 什么是 dolby AC-3
  3. jsch设置代理_Java使用JSch组件实现SSH协议代理服务
  4. df、du和fdisk命令的区别
  5. 迷惑行为!淘宝上线新版“相亲名片”:上来先告诉相亲对象你花了多少钱?...
  6. 基于Matlab的极限学习机(ELM)实现
  7. firework cs4入门
  8. vb访问服务器文件,VB6打开远程服务器文件
  9. 综合篇(四):Vivado中Global和Out-of-context(OOC)综合模式
  10. Python语法错误和异常
  11. 太阳能电池系统行业调研报告 - 市场现状分析与发展前景预测
  12. 小新Air15的USB接口只能充电,不能传送数据
  13. 2021-06-15记录端午假期学习微信小程序 计算器
  14. hy-bridge:一款简洁安全可靠的Hybrid框架
  15. 上银驱动器使用手册_上银伺服电机调试说明书.ppt
  16. Mybatis之高级映射【一对多映射】
  17. jaeger 链路追踪
  18. 2022年端边云协同的AI视觉产业研究报告
  19. 2020大众心理健康洞察报告-简单心理——附下载链接
  20. 给定两个列表,使用线程同步之打印1A2B3C4D5E6F7G8H9I10J...

热门文章

  1. cad插件加载bplot成功用不了_Batchplot批量打印命令无效,对照情况进行解决
  2. 数据库导出Excel乱码 解决
  3. 魅族 刷机android 6.0,魅族mx6 flyme6
  4. CGAN和InfoGAN理解
  5. rfid sim卡 android,手机专用SIM卡的非接触移动支付技术标准之争:NFC vs RFID
  6. 免费采集软件智能万能采集数据
  7. marlab中主成分得分怎么求_成考数学不可触碰的雷区和得分技巧(纯干货)
  8. JetBrains系列产品学生认证申请免费使用教程
  9. Eviews创建散点图的具体方法
  10. android 获取设备的serialNumber和Mac地址