UC故事 2011/12/05 总结与计划(续2)

别再迷信Intel网卡了!用普通笔记本+TWINCAT3搭建EtherCAT主站的完整避坑实录 本文详细介绍了如何用普通笔记本和TWINCAT3搭建EtherCAT主站的完整避坑指南。通过破除必须使用Intel网卡的迷思,提供软件环境搭建、关键配置步骤、Wireshark抓包技巧及性能优化建议,帮助开发者低成本实现EtherCAT主站功能。 阅读详情

1. 要点回顾

 * SendData/ReceiveData的本质:

SendData=Main thread向network thread发送(PostEvent)一个CRtEventSendData;在CRtEventSendData::OnEventFire中,network thread通过socket送出

ReceiveData=network thread从socket接收数据,向main thread发送(PostEvent)一个CRtEventOnReceive;main thread在CRtEventOnReceive::OnEventFire中,适当方法处理,直到CConference对象及之上

注:XXXEvent是系统处理的核心


* 发送与接收的区别

发送的时候,有若干”策略“需要实施,如优先级(CConfConnection),UDP/TCP选择(CConfPort)

接收的时候,无对应策略

 

2. 问题汇总

Q:CConference::UpdateSessionChannel究竟完成什么功能?

Q:CConference/CConfSession等对象只会出现在main thread的执行中,不会出现在network thread中,对吗?

Q:CConference到底有没有直接与Server通讯的能力?

       A:I think no. CConference存在于main thread的context中,必须通过向network thread发送PostEvent方式来向Server发送信息。

       跟踪分析CConference::SendData,结果如何?

       CConference -> CConfPort -> CConfConnection -> CRtIMConnection -> CRtTransportTcpT

       Q:似乎直接就把pdu发给server了,没有通过pReactor->PostEvent()?

       Q:或者network thread中也有CConference对象?不太可能吧?

 

Q:所有数据(a/v/d都表现为Event)?所有数据的收发都表现为event的Post?

 

 

3. 下步计划

 

4. 杂想杂问


5. Jiarong的代码

E/// D2的代码为何不能直接看到UI?

chat与另一客户端似乎不通?



 

 

常见消息队列:ActiveMQ、RabbitMQ、RocketMQ、Kafka的区别总结 常见消息队列:ActiveMQ、RabbitMQ、RocketMQ、Kafka的区别。 阅读详情

相关推荐

Trae编程工具Cline插件深度集成与Claude 3.7 API Key高级配置实战

本文详细介绍了如何在Trae编程工具中深度集成Cline插件并配置Claude 3.7 API Key的高级技巧。通过实战案例,展示了如何提升代码补全质量、实现多轮对话记忆及自定义代理设置,特别适合全栈工程师和需要私有化AI服务的团队。文章还涵盖了安装流程、API Key获取方式及企业级部署的最佳实践。

weixin_28829903的博客 436

UC故事 2012/05/20

1. source browing * startup 设置SIGINT/SIGPIPE信号处理 初始化main thread         选择reactor         生成main thread (configured with reactor)         init main thread         spawn network thread

printf1998的专栏 681

瑞芯微rv1126 rtsp+mpp+rga取流

瑞芯微rv1109 rtsp+mpp+rga取流

ZuoSeDiao的博客 6338

UC故事 2011/12/08 总结与计划(续4)

1. 近日要点 * 关于Thread与EventQueue(实际为Reactor)的使用总结                                   主(平台)线程类              网络线程类                           主线程事件队列类                                 网络线程事件队列类 操作系统

printf1998的专栏 626

Android 开发实战:从零到一集成 espeak-ng 实现中文离线 TTS(无需账号开箱即用)

本文详细介绍了如何在 Android 项目中集成 espeak-ng,实现中文离线语音播报。通过下载 so 库、编写 Java 接口、封装管理类,开发者可快速构建无需账号的 TTS 功能。文章覆盖从零到一的开发步骤、调试技巧及性能优化,适合中高级 Android 开发者参考。

全栈 3317

Ubuntu的初步环境配置(VMware)

4.屏幕显示不全解决完后,在试用Ubuntu里面,直接双击“安装Ubuntu 20.04.6 LTS”。如果不存在“屏幕显示不全”的问题,直接点击安装即可,大致安装步骤与以下步骤类似。15.点击现在重启,重启成功后,会出现“清除安装介质”的问题。19.此时点开火狐,可以上网,但只可输入英文,不可以输入中文,具体解决方法见3.2。3.进入安装界面,此时可能会出现“屏幕显示不全”的问题,具体解决方法见3.1。8.选择“正常安装”、“安装Ubuntu时下载更新”,点击继续。最后,点击保留更改,设置成功。

森菌蛙诺的博客 2274

UC故事 05/10/2011 杂记

1. Client启动的Access Violation问题 依然如故,看来和complete build没有关系。   2. Office,重启server,error如下:   $20110510 07:43:42.921 3408/3236 ERROR: CRtAcceptorTcp::StartListen, bind() failed! addr=172.16.14.6 por

printf1998的专栏 298

保姆级教程:手把手教你为裕泰微YT8521 PHY芯片编写Linux设备树(DTS)节点与驱动

本文提供了一份详细的保姆级教程,手把手教你为裕泰微YT8521 PHY芯片编写Linux设备树(DTS)节点与驱动。从基础配置到RGMII接口的特殊设置,再到驱动开发的关键步骤和调试技巧,帮助开发者快速掌握PHY芯片的移植与开发。

weixin_33734785的博客 333

UC故事 回顾 2012/04/05

1.短期计划(1个月) * 重读所有文档 * 重读所有Blog * conference client/server build for windows/linux *  代码走读     # Session层代码     # GC/Info Server 关键代码     # Android/iOS代码     # Client代码 * 跨平台设计启动   2. 读bl

printf1998的专栏 583

Windows10下RTABMAP+T265实现三维建图

win10+rtabmap+t265扫描地形

Suxiang1997的博客 3486

vscode配置matlab工作环境

前面有两篇文章我们分别讲了在vscode里面如何配置C语言环境和python环境,那两篇文章总体来说比较复杂,当然这篇也有许多有趣的问题。 附上链接: 文章目录matlab简介基本要求code runner插件与matlab相关的插件添加路径小结code runner是否支持更多语言更多选择另一个选择 matlab简介 MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。 MATLAB是ma

Cachel Wood的博客 4540

《罗永浩打脸罗永浩》、MPEG召集人辞职称MPEG将不再存在、Zoom免费用户将没有端到端加密|Decode the Week...

Decode the Week≠音视频技术周刊01罗永浩登GQ智族六月刊封面对自己发出“打脸”拷问图片来源:智族GQ六月刊封面在智族GQ新一期“GQ不可能的采访”——《罗永浩打脸...

LiveVideoStack 1711

基于ComfyUI+H3的本地化竖屏短剧自动化生成工作流

本文介绍了一种基于ComfyUI和MiniMax H3的本地化竖屏短剧自动化生成工作流。该方案通过纯机械读取分镜总纲表格,实现从文本到视频的全自动生成,支持多人同框稳定输出、人脸一致性保持、音视频同步生成等功能。工作流包含图像生成、人工审核、视频生成和音频处理四个核心环节,采用本地化部署方案避免云端服务的限制和成本问题。文章详细说明了环境部署步骤、必需的自定义节点安装以及显存优化配置,特别针对16GB显存设备提供了量化压缩、GPU独占调度等技术方案,确保系统流畅运行。

huanghm88的专栏 325

总结一下关于UC方面的问题 2011/09/11

* 音频数据优先级 音频与其它数据分不同的Connection在传输,无论其是否使用UDP,都不可能控制其相对于其它数据的优先级 目前要保障音频优先级的唯一方法是在网络设备层保障 * 纯HTML5方案中server端的变化 需要自己开发WebSocket服务器 需要的时候,仍可做成分级分布式集群 * 服务器的接口 Q:可能做出一个服务器接口让第三方调用否? A:

printf1998的专栏 3171

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

读书与UC

1.读书Windows Programming V2 Q:AFX_MODULE_THREAD_STATE对于模块和线程都是私有的,如何理解? Q:windows book P176:AfxCallWndProc()如何处理多个消息处理嵌套的? Q:以下代码 /////////////////////////////////////////////// // CMyApp成员函数的实现代码

printf1998的专栏 1828

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

UC故事 05/09/2011

Office   1. 修改IP后,启动Client/Server,均现“重新连接” 2. 重启动后,一个Client连接成功,另一个仍“重新连接”。 查看错误信息,有如下:   $20110509 14:39:09.296 2016/1616 info: CConfManage::OnJoinConferenceConfirm $20110509 14:39:09.296 201

printf1998的专栏 1091

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

iPhone/iPad Audio Unit声音播放

1. Audio unit或audio graph 当只有一个audio unit的时候,直接使用audio unit的API,不必使用Audio Graph

printf1998的专栏 1045

UC故事2011/11/30

今日之事 * 文档完成 * Jiarong例子 * test的例子   1. CRtThreadManager * class definition class RT_API_EXPORT CRtThreadManager  {  ....  static CRtThreadManager* Instance();

printf1998的专栏 1014

UC故事 2011/11/24

1. Chat Module接收信息,并演示到UI上面的全过程: STACK TRACE: CChatMainDlg::ReceiveMessage(unsigned long 19923456, WTL::CString & {...}, WTL::CString & {...}, int 1, _charformatw * 0x00119fa8) line 589 CChatMainDl

printf1998的专栏 998

UC 故事 05/13/2011 杂记:代码

1. 问题 Q:TP层的架构文档? Q:所有port的种类?不同种类port之间交换信息的业务实例? Q:Channel使用SID来标志,是不是一种特殊port? Q:Channel只和user有关吗?  virtual RtResult JoinChannel(const CInfoSID& userInfoSID, const CInfoSID& channelID) = 0;

printf1998的专栏 967

UC故事2011/11/27 - 2

1. 再次研究线程 * 线程种类     typedef int TType;     enum     {         TT_MAIN,         TT_NETWORK,         TT_DNS,                      // Q:for what ?         TT_CURRENT,           // Q:for what?

printf1998的专栏 906

杂记 05/07/2011-2

Reading source code of Client   1. C函数还是C++函数?             DebugRunOption pRunProc1 = (DebugRunOption)GetProcAddress(hModule1, WT_DEBUG_RUN); 实际定义在../vc98/Include/WINBASE.h中。   WINBASEAPI FARPR

printf1998的专栏 885

UC故事2011/11/26

1. 开发环境恢复 * 处理Info/controller启动问题:Bind $20111126 17:24:29.062 16496/16684 ERROR: CRtAcceptorTcp::StartListen, bind() failed! addr=192.168.1.101 port=1224 err=10048:通常每个套接字地址(协议/网络地址/端口)只允许使用一次。

printf1998的专栏 877

UC故事 2011/10/21

1. Session研究 * CInfoSid 结构有点复杂呢  //channel ID  //[0000 TTTT xxxx xxxx xxxx xxxx xxxx xxxx]  //NodeID  //[xxxx TTTT YYYY YYYY YYYY 0000 0000 0000]  //SessionID and user ID  //[xxxx TTTT YYYY Y

printf1998的专栏 796

UC故事 2012/04/19 Server

1. 读文档与代码  * MCS class IMcs : public IOption { public:   ...  virtual RtResult JoinChannel(const CInfoSID& userInfoSID, const CInfoSID& channelID, IInfoSvrPort* pSrcPort = NULL) = 0;  virtual

printf1998的专栏 778

UC故事2011/11/17

### 搞定UCP4.5-0429开发环境(home) 1. info server * 直接F5 $20111117 18:57:53.828 2264/12320 ERROR: CRtAcceptorTcp::StartListen, bind() failed! addr=192.168.1.100 port=1224 err=10049:在其上下文中,该请求的地址无效。

printf1998的专栏 770
上一篇: UC故事 2011/06/24 - 1(补记2011/12/06)
下一篇: UC故事2011/12/07 总结与计划 (续2)
printf1998
博客等级 码龄16年 14粉丝 196原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值