嵌入式8月第三周学习总结

本周学习内容:网络编程

网络体系结构:

        OSI体系结构、TCP/IP体系结构

  OSI体系结构OSI网络模型作用
7应用层解决进程间通过交互实现特定的网路应用功能
6表示层
5会话层
4传输层解决进程间网络数据传输问题
3网络层解决数据在不同网络之间进行传输
2数据链路层解决分组数据报在链路上的传输
1物理层解决用何种信号来传输比特流
TCP/IP体系结构TCP/IP网络模型
4应用层
3传输层
2网络层
1网络接口层

地址

        MAC地址 、ip地址(ipv4)

mac地址有6字节,前3字节由厂商申请获取,每个厂商不同,后3个字节,厂商分配

ip地址就是在网络层对主机的编号 ,由于mac地址不具备区分不同网络,所以通过ip地址来区分不同网络,以及网络中的不同主机

        ip地址 = 网络地址 + 主机地址 

( 网络地址:因特网上,每个网络的编号,主机地址:一个网络中,每个主机的编号)

        为了方便查看IPv4地址,对32比特位的ipv4地址,采用点分十进制来表示 ,每个字节用一个十进制数来表示,字节与字节之前 使用 . 来分开 。

ip地址分类

        有 A ~ E 五类地址、划分子网、无分类编址

A ~ E 五类地址:点分十进制表示法中第一个数 0~127(A) 128~191(B) 192~223(C) 224~239(D) 240~255(E)

传输层协议:

UDP协议 --- 用户数据报协议 ----- 不可靠

TCP协议 --- 传输控制协议 ----可靠

UDP通信相关函数
创建套接字(文件)socket()
指定(绑定)本地网络信息bind()
进行通信,发送数据sendto()
进行通信,接收数据recvfrom()
关闭套接字close()
TCP客户端相关函数
创建套接字(选择进程通信的协议)socke()
绑定套接字(对进程通信加载本地网络信息,进行用什么网络信息进行通信)bind()
请求和对方建立连接connect()
发送数据,接收数据read()、write()、send()、recv()
结束通信,连接断开,关闭套接字close()
TCP服务端相关函数
创建套接字socket()
绑定套接字bind()
监听套接字(ip、port)监听是否有连接请求,等待连接listen()
接收客户端连接accept()
发送数据、接收数据read(),write()
关闭套接字close()

服务器模型

循环服务器模型 、并发服务器模型

IO模型

阻塞IO 、非阻塞IO 、IO多路复用(重点) 、异步通知

TCP建立连接与断开连接

建立函数三次握手,断开连接四次挥手

数据库sqlite3

数据库文件:按照一定的方式对数据进行归纳存储(已表的形式存储),数据库就是表的集合,表就是数据的集合,操作就是要操作表

        大型数据库:DB2(IBM),ORACLE

        中型数据库:MySql、Sql server

        小型数据库

        嵌入式数据库:sqlite、firebird

打开数据库文件

        sqlite3 数据库文件名.db,表示创建或打开某个数据库文件

数据库命令

        数据库命令都是以 . 开头

        .open    数据库文件.db ------打开数据库文件

        .quit-----表示退出当前数据库管理工具

        .table----表示列出当前打开的数据库文件中所有的表

        .database---表示列出当前打开的数据库文件

        .schema---表示列出查看的表的对应结构(有哪几项,每一项是什么)

数据库语句------就是操作数据库表的方式

表操作都是以  ;  作为结束

相关命令
创建表create    table    表名字
删除表drop    table    表名字
添加数据insert    into    表名    values(字段1值,字段2值,字段3值,字段4值,.....)
查找数据select    字段名1,字段名2    from    表名    where    条件
修改数据update    表名    set    字段名=值    where    条件
删除数据delete    from    表名    where    条件

在c文件中调用数据库命令:sqlite3_exec

个人总结:

        本周学习内容较为繁琐,个人掌握程度不是太熟练,还需多加练习。对于通过网络进行通信,下载上传文件的操作已经基本能独立完成,数据库的各类操作不熟练还得通过表格查找。本周涉及的函数或命令较多目前只能看到函数大多数知道用法,而很多函数无法实现自己背出来。所以整体来说差得还挺多,还得继续努力。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值