![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式Linux网络编程基础
文章平均质量分 64
vancounver
这个作者很懒,什么都没留下…
展开
-
1. 网络编程基础与Wireshark使用
1. 看麦子课程的嵌入式Linux网络编程基础视频,作个笔记,一是加深印象,而是便于记录要点。2. 网络编程拓扑图局域网如下:广域网:3. wireshark使用:filter :过滤方法特别多,可以参考ubiqua的使用方法,类比过去ip.addr == 192.168.1.111设置关联IPip.src == 192.168.1.111:源IP原创 2017-02-19 19:26:25 · 402 阅读 · 0 评论 -
18 原始套接字
1. 创建原始套接字注意:原始套接字要超级用户才能使用。调用socket函数,即可创建原始套接字。参数需要注意变更:int socket(AF_INET,SOCK_RAW,protocol)int socket(AF_PACKET,SOCK_RAW,protocol)2. 发送消息调用sendto可以发送信息ssize_t sendto(int sockfd, co原创 2017-02-23 11:56:25 · 312 阅读 · 0 评论 -
17 multicast示例
1. server往组发送信息#include "socket_includes.h"#include int main(int argc, char*argv){ int sockfd; struct sockaddr_in mcast_addr; char buf[100] = MCAST_DATA; int on = 1; int ret;原创 2017-02-22 21:18:14 · 318 阅读 · 0 评论 -
16 UDP广播示例
1. 例程如下#include "socket_includes.h"int main(int argc, char *argv[]){ int sockfd; struct sockaddr_in server, client, broadcast; char buf[200]="hello.brocast.", read_buf[100]; char dest[原创 2017-02-22 20:57:27 · 330 阅读 · 0 评论 -
14-15 高并发服务器中epoll编程
1. 通过epoll实现高并发服务器模型LT(level triggered)是缺省的工作方式,并且同时支持block和no-block socket.在这种做法中,内核告诉你一个文件描述符是否就绪了,然后你可以对这个就绪的fd进行IO操作。如果你不作任何操作,内核还是会继续通知你的,所以,这种模式编程出错误可能性要小一点。传统的select/poll都是这种模型的代表.ET (e原创 2017-02-22 13:46:47 · 412 阅读 · 0 评论 -
13 select的优化一
1. 上个例子中,select通过for循环轮询client套接字,轮询的范围比较大,有优化的地方。2. 优化代码:通过数组存储client的套接字,达到少轮询的效果,可以在client数量比较多、读写数据量大的情况下看到效果;select的最大连接数1024,所以在处理并发量比较小的时候可以用上,如果并发大的时候需要重新考虑。#include "socket_includ原创 2017-02-21 20:37:36 · 289 阅读 · 0 评论 -
10-11-12 IO复用及select例子
1. 阻塞式IO2. 非阻塞式IO3. IO复用Select / epoll4. 信号驱动IO5. 异步IO原创 2017-02-21 10:58:17 · 319 阅读 · 0 评论 -
9 多进程并发服务器模型
1. 多进程并发服务器的实现,学习点:fork子进程处理新客户端连接请求;通过信号回收断开连接的子进程资源,不会让client主动断开时子进程处于僵死状态;封装功能函数,实现模块化。#include "socket_includes.h"#include int mz_ipv4_tcp_create_socket(void){ int listenfd, sockfd,原创 2017-02-20 21:18:24 · 331 阅读 · 0 评论 -
2-3-4-5 获取时间的客户端例子 TCP相关
1. OSI7层模型 vs 四层模型2. bzero vs memsetbzero是什么函数?比memset安全?3.原创 2017-02-19 21:18:48 · 300 阅读 · 0 评论 -
19-20 xshell/quagga开发流程案例
1. xshell需求:a. 用户能登录服务器;b. 用户端输入命令,一些linux系统管理的相关命令;c. 一些客户端自定义命令,如exit,help等2. 项目实施之流程图3. 项目实施之协议定义协议一般有两种方式:a. 字符串形式的协议1). 自定义aa. 登录:“login|user|password”bb. 执行原创 2017-02-23 17:13:58 · 425 阅读 · 0 评论