- 博客(9)
- 收藏
- 关注
原创 DPDK用户态协议栈开发
在广泛的网络应用中,如web服务/电子邮件等,基本上都是基于操作系统提供的内核态TCP/IP协议栈,即socket通信。即:开发者和网卡硬件的数据包,中间隔着操作系统抽象的一层协议栈,开发者处理网络通信业务时,会进行用户态和内核态的上下文切换。3/win系统手动更新arp缓存(地址解析协议),在指定网络接口如IP地址:192.168.1.16,索引号为0x09的位置增加一个邻居缓存条目,将多队列网卡的IP地址映射到MAC地址上。2/查看网卡的IP地址和MAC地址。1/查看绑定的多队列网卡信息。
2025-02-12 10:36:25
285
原创 UEC++和蓝图的反射及资源加载
通常情况下,通过UPROPERTY/UFUNCTION标记宏,可以将CPP类的属性/函数暴露给蓝图文件,例如:测试类restActor01中声明一个变量Num/函数test01()问题:蓝图可以获取C++类的成员属性/函数,反过来C++类可以获取到蓝图类的成员吗?2//查找并修改蓝图BP_NSHPawnHZ中声明的变量 初始化值123。1//查找并修改被UPROPERTY标记的c++变量。编译后使用蓝图类继承该类,可以在蓝图事件图标中看到。
2025-01-23 17:57:24
159
原创 参考引擎插件实现UE_WebUI插件
官方的写的很全面,包括http请求/响应,事件回调,数据转换,视频流解析,鼠标穿透等,这里搭了个简陋的框架,后面的接口有时间在慢慢实现了。参考引擎的插件结构,如图,以WebBrowserWidget插件为例,.uplugin/.cs文件2个文件,主要用来适配的引擎版本/平台适应/及模块间的依赖关系。这个插件没有写成单独模块的插件,只是参考官方及现有的WebUI插件,实现了一个基于项目模块的WebUI。该类继承UE的Widget,实现了3个代理和1个Load函数,也是所有的逻辑/事件入口类。
2024-12-31 17:42:43
265
原创 Ubuntu23.04DPDK搭建及工作原理和报错解决
3.3/~$ ./usertools/dpdk-setup.sh打开文件。依次执行43/44/45/46/47/49/60。5.1/备份 #sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak。6.5/执行 #./build/ustack 至此一个完整的开发/编译/执行的dpdk开发环境已经搭建好。5.2/编辑 smb.conf #sudo vim /etc/samba/smb.conf。2.1/添加网卡后,ip addr查看所有网卡。
2024-12-19 19:57:34
415
原创 虚幻UE4/UE5程序性能分析及优化
一般,场景中可见对象越多,剔除的计算量大,DrawCall的性能消耗比模型面数影响要大。解决办法:尽量避免使用性能消耗大的函数和操作,对于大型项目,逻辑上必须要对很大数量的Actor进行遍历时候,用C++实现蓝图同样的节点功能,蓝图作为一种虚拟机脚本语言,大多数项目足以应对,但是考虑到极端情况建议项目一开始就C++和蓝图混编的结构,性能消耗大的逻辑写C++,易于开发/调试的逻辑写蓝图。2.2.3/Shodow和Light的计算是耗时最多的,这里和光源的数量,actor的数量,模型的精度都有这密切的关系。
2024-12-05 14:18:35
2158
原创 C++网络编程一TCP/IP
/用于存储client的IP/程序端口的结构体。cout << "接收client消息失败";cout << "向client发送消息:";cout << "绑定sock失败";cout << "监听sock失败";//处理client发送的消息。2/创建套接字描述符 socket函数。//接收来自client的链接。//创建文件描述符 sock。//绑定服务器IP/PORT。8/关闭socket/关闭网络。3/绑定主机IP地址/端口号。3/绑定主机IP地址/端口号。2/创建socket。
2024-06-25 13:38:44
936
原创 ue4DMX舞台灯技术细节
函数返回USaveGame的类对象,可Cast类型转化成BP_SaveGame类型。1、新建类BP_SaveGame,继承SaveGame。2、构建BP_SaveGamel类的实例,存放用户信息。3、LoadSaveGameObj,检查存档的用户数据。ObjectBytes字节数组存放加载的用户数据;CreateSaveGameObj函数原型。LoadGameFromSlot函数原型。
2023-10-31 11:44:07
176
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人