08 2023 档案
摘要:tcp/udp网络通信与socket实际上是两个概念,不过因为我们平常使用tcp/udp,不可避免的使用socket,所以认为两者是同一个事物。 我们现在所说的或者最常用到的都是BSD版本的socket。socket是对tcp/udp等网络协议的封装,提供上层接口,供我们使用,可以编写程序在网络间传
阅读全文
摘要:# 服务端源码 ``` #include #include #include #include #include #include #define BUFF_SIZE 1024 int main() { int sock = 0; int recvlen = 0; // 接收数据缓冲区 char b
阅读全文
摘要:# 步骤概览 - 编译安装dpdk - 绑定网卡驱动vfio,必须有两个网口 - 配置LD_LIBRARY_PATH和PKG_CONFIG_PATH - 编译运行 # 源码 ## basicfwd.c 这个程序是从一个网口获取数据,然后发送到另一个网口,所以收发消息的代码都有了,可以根据这个程序编写
阅读全文
摘要:# 先安装 dpdk编译完成后,先运行`ninja install`把相关内容安装到指定目录。 ``` ls /home/dpdkinstall bin include lib64 share ``` - bin——一些脚本(用于绑定驱动等),编译的测试程序,编译的常用工具 - include——需
阅读全文
摘要:# 原因 编译的时候指定的动态库,在运行时没有找到。因为编译和运行需要查找的目录是不通用的,需要在运行时指定查找动态库的目录。 # 解决方法 运行时,指定动态库搜索的路径 ``` export LD_LIBRARY_PATH=/xxx/lib:$LD_LIBRARY_PATH ```
阅读全文
摘要:驱动 建议使用vfio-pci,依赖系统的vfio igb_uio从DPDK v20.02开始禁止编译。可以通过CONFIG_RTE_EAL_IGB_UIO打开编译。igb_uio计划迁移到其他项目。 uio_pci_generic是linux系统提供的,不支持virtual function (V
阅读全文
摘要:# 下载源码 http://core.dpdk.org/download/ # 编译 http://core.dpdk.org/doc/quick-start/ ## 安装python3 ## 安装ninja ``` yum install ninja-build ``` ## 安装meson ``
阅读全文
摘要:前言 https://www.cnblogs.com/studywithallofyou/p/17435497.html https://www.cnblogs.com/studywithallofyou/p/16695550.html 上面的文章提到了一些相关的知识,本篇单独针对CPU进行详细讲解
阅读全文
摘要:# 编译产物 hyperscan编译完成后有如下文件 ``` ls -R .: include lib64 share ./include: hs ./include/hs: hs_common.h hs_compile.h hs.h hs_runtime.h ./lib64: libhs.a li
阅读全文
摘要:hyperscan是intel开发的用于高效正则匹配的工具。适用场景就是数据量大,性能要求高,匹配关键字领域。 hyperscan会把需要检测的关键字/正则表达式转换成对应的db数据,然后使用这些db数据进行匹配。所以如果数据更改了,需要重新创建。 理论上只能在intel的x86架构下才可以正常使用
阅读全文
摘要:原因 使用的gcc没有找到对应的glib库。 每个版本的glib都会有改变,所以使用的时候必须匹配。 大部分是因为自己编译升级了gcc,再用新的gcc编译程序时没有找到当时匹配的类库。 查找原因 报错提示很明确了,/lib64/libstdc++.so.6中没有找到GLIBCXX_3.4.26版本内
阅读全文
摘要:有人担心国内版夹带私活,所以选择了国际版。不过我是因为原来windows下开发,默认查找下载的,当然是国内版。不过后来转linux系统,默认下载的是国际版。这里说明一下各个区别。 # 区别 - 国内版登录是火狐通行证,数据保存在国内 - 国际版数据当然保存在另一个服务器,或者说火狐的国际服务器 #
阅读全文
摘要:很多人都说用go代替php或者java的最大短板就是写业务太反人类。经过最近的一些使用,发现确实与常见的java或者c++有些区别,在这里说明一下。 go继承多态的现状 go没有类的概念 也没有所谓的继承多态。所以按照常规用法开发相应的业务逻辑,确实不适用。 go只有struct和interface
阅读全文