网络编程
Feiffer_Hu
Android wifi framework工程师、单片机工程师、嵌入式初级驱动工程师、BSP_Sensor驱动工程师
展开
-
5.8、周知端口
TCP 1=TCP Port Service Multiplexer TCP 2=Death TCP 5=Remote Job Entry,yoyo TCP 7=Echo TCP 11=Skun TCP 12=Bomber TCP 16=Skun TCP 17=Skun TCP 18=消息传输协议,skun TCP 19=Skun TCP 20=FTP Data,Amanda(传输数据) TCP 21=文件传输,(控制连接)Back Construction,Blade Runner,Doly Trojan原创 2020-06-02 16:35:36 · 1849 阅读 · 0 评论 -
5.7、sql数据库:存储、管理数据
sql数据库:存储、管理数据 sqlserver(微软)、mysql、db2… sqlite嵌入式数据库 sqlite3数据库的安装包: sudo apt-get install sqlite3 sudo apt-get install libsqlite3-dev sqlite3终端上可以键入两种命令: 1.系统命令:以.开头命令 .help 查看帮助 .exit 退出 .database 查看当前的数据库的信息 .table 查看数据库中表的信息 .sc原创 2020-06-02 16:26:44 · 339 阅读 · 0 评论 -
5.6、高级IO:非阻塞\io多路转接
非阻塞: int fcntl(int fd,int cmd,long arg); fcntl(文件描述符,cmd,arg):获取或设置文件一些命令 cmd: F_GETFL:获取文件打开时的flag,通过返回值得到,忽略arg参数 提示:flag可以通过man 2 open查看 F_SETFL:设置文件的flag,通过arg进行设置 IO多路转接: select(最大的文件描述符+1,读集,写集,异常集,超时结构体):监视一堆文件描述符.原创 2020-06-02 15:56:01 · 207 阅读 · 0 评论 -
5.5、关于TCP的三次握手 -- 四次挥手
三次握手 第一次握手:客户端发送建立连接的请求,服务端此时收到但不确定是否是客户端乱发的包、或者服务器此时无法接受连接的请求(连接队列满等) 第二次握手:如果服务端是支持tcp连接,则回复一个确认,并问客户端是否要建立 第三次握手:如果客户端确实要建立连接,则回复一个确认 通俗理解 把客户端比作男孩,服务器比作女孩。用他们的交往来说明“三次握手”过程: (1)男孩喜欢女孩,于是写了一封信告诉女孩:我爱你,请和我交往吧!;写完信之后,男孩焦急地等待,因为不知道信能否顺利传达给女孩。 (2)女孩收到男孩原创 2020-06-02 15:36:30 · 498 阅读 · 0 评论 -
5.4、流式TCP
被动端:先运行 * 1.取得socket int socket(int domain, int type, int protocol); /**************************************************************** 创建一个socket套接字,成功返回一个文件描述符,失败返回-1,并设置errno 协议族: AF_INET:ipv4 AF_INET6:ipv6 传输方式:原创 2020-06-02 15:30:39 · 214 阅读 · 0 评论 -
5.3、报式:udp
被动端:先运行,先收包 1.创建socket套接字-》socket 2.为socket绑定ip地址-》bind 3.收发数据 -》recvfrom收、sendto发 4.关闭socket-》close 主动端:后运行,先发包 1.创建socket套接字 2.为socket绑定ip地址-》省略 3.收发数据 4.关闭socket 1、创建一个socket套接字 int socket(int domain, int type, int protocol); socket(协议族,传输方式,0) /***原创 2020-06-02 14:59:38 · 170 阅读 · 0 评论 -
5.2、跨主机传输中注意事项
在跨主机传输中需要注意的问题:平台差异化导致的 1.字节序问题 大端模式:低字节数据存放在高地址 小端模式:低字节数据存放在低地址 本地序 网络序 htons、htonl:本地序转网络序 ntohs、ntohl:网络序转本地序 单字节数据不考虑大小端 2.结构体对齐问题 收发双方约定,结构体不对齐__attribute__((packed)) 例如: struct node_st { .... }__attribute__((packed)); 3.数据类型大小问题 int8_t\uint8_t原创 2020-06-02 14:39:15 · 208 阅读 · 0 评论 -
5.1、网络编程基础知识
TCP协议分成两个不同的协议: 用来检测网络传输中差错的传输控制协议TCP,是可靠的传输 专门负责对不同网络进行互联网协议IP,不可靠的传输 两个最有代表的协议促成了TCP/IP协议 网络采用分层的思想: 1.每一层实现不同的功能,对下层的数据做透明传输 2.每一层向上层提供服务,同时上层提供的服务 OSI开放系统互联网模型: 是一个理想化的模型,尚未有完整的实现,七层结构: 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 TCP/IP协议族体系结构:是Internet事实上的工业标..原创 2020-06-02 14:37:11 · 178 阅读 · 0 评论