UC故事2011/11/26

SCDM学习笔记(5) 几何前处理后一般会获得几何的固体区域,然而当进行流体仿真的时候是对流体的区域进行计算的。因此,如何快速地从固体的几何模型获得流体的几何模型是一个重点问题。 流体问题一般可分为内流场与外流场问题,对于内流场问题,SCDM有专门的处理工具 工程图纸大致如下: 要创建这个几何的大致策略是画出截面的圆形,再画出轴线,通过扫掠的方式建立几何。 以上是mixing的国体区域,通过体积抽... 阅读详情


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:通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
 this=0x16c9540

修改controller及infoserver使用的各种ports,OK

Q:1224为什么不能用?(TCPView中看不出来任何异常)


* Client显示重连

估计是改了port number后没有重启动Servers


* Client Crash

注:没找到原因,但连续重启动client几次就好了。


Q:为什么有些模块是dll,另外一些是lib?


2. 分析client启动日志

Q:SingleServer这个选项似乎没有用?


加载一大堆DLL

加载rtConfClient.dll

如果__RT_DIAGNOSE__定义

       Debug Start(究竟做了什么?)

       启动客户端LaunchConf

       Debug Stop


注:ConfMain Prepossesor Definition:WIN32,_DEBUG,_WINDOWS,_MBCS,__RT_DIAGNOSE__


3. 分析client启动日志(去除__RT_DIAGNOSE__定义)

* WinMain

#ifdef __RT_DIAGNOSE__
            // Start debug module
            pRunProc2();
            RT_TRY
            pRunProc(hInstance, lpCmdLine, nCmdShow);
            RT_EXCEPT
            // Stop debug module
            pRunProc3();
#else
            pRunProc(hInstance, lpCmdLine, nCmdShow);
#endif


Q:Debug到底做什么用?是在client运行的时候向Web服务端发送相关信息以搜集出问题的时候client的状态?


* CDebug.start()

$20111126 21:19:05.671 8656/15584 info: CRtThreadManager::Instance, new CRtThreadManager.
$20111126 21:19:05.671 8656/15584 info: CRtThreadManager::CRtThreadManager, this=0x20a78c8
$20111126 21:19:05.671 8656/15584 info: CRtThreadManager::InitMainThread, this=0x20a78c8
$20111126 21:19:05.687 8656/15584 info: CRtThread::Create, aType=0 aFlag=1 this=0x20a7b20
Loaded 'C:\WINDOWS\system32\msctfime.ime', no matching symbolic information found.
$20111126 21:19:05.734 8656/15584 info: CRtReactorWin32Message::Open, m_hwndNotify=0x1280ba6 this=0x20a7970
$20111126 21:19:05.734 8656/15584 info: CRtThread::Create, aType=1 aFlag=1 this=0x20a7df8
$20111126 21:19:05.796 8656/15236 info: CRtThread::ThreadProc, begin this=0x20a7df8
$20111126 21:19:05.796 8656/15236 info: CRtReactorWin32Message::Open, m_hwndNotify=0x310b9e this=0x20a7ca0
$20111126 21:19:05.796 8656/15236 info: CRtThreadReactor::OnThreadRun, Begin.
$20111126 21:19:05.796 8656/15236 info: CRtReactorWin32Message::RunEventLoop this=0x20a7ca0

注1:生成了ThreadManager,并两次启用CRTReactorWin32Message::Open().

                            (在干嘛?  注册CRtReactorWin32Message/CRtReactorWin32Asyncselect需要使用的Windows窗口处理函数  2011/12/07)

注2:到目前为止,没有网络连接出现。


* LaunchConf()

# leave confefence

    Q:这里其实向serer发了pdu,但居然在tcpview中没有看到有tcp连接established,奇怪了?

# IConference::CreateInstance (此时没有connection对象生成,也没有网络连接产生)

# Join Conference: CConference::JoinConference ( send request to server ) 

    Q:仍然在tcpview中见不到网络连接?

#


4. conference create

RtResult CConfProvider::CreateConference(
        const ConfID_Type& confID,
        const CRtUserID& userID,
        const IConferenceSink* aSink,
        IConference*& outConference)
{
    RT_INFO_TRACE("CConfProvider::CreateConference, confID="<<confID
        <<",userID="<<userID.dwUserID<<",aSink="<<aSink);
    if (confID.empty() || 0 == userID.dwUserID || NULL == aSink)
    {
        RT_WARNING_TRACE("CConfProvider::CreateConference, invalid params!");
        return RT_ERROR_INVALID_ARG;
    }

    bool                    bExist = true;
    CRtAutoPtr<CConference> curconf = GetConference(confID, userID);
    if (!curconf.Get())
    {        
        bExist = false;
        curconf = new CConference(confID, userID, aSink);
        RT_ASSERTE_RETURN(curconf.Get(), RT_ERROR_OUT_OF_MEMORY);
        m_conferences.push_back(curconf);                                                                  // Q:为什么会保留很多个conferences?
    }

    curconf->AddReference();
    outConference = (IConference*) (curconf.Get());
    return bExist ? RT_ERROR_FOUND : RT_OK;
}


5. CConference::JoinConference

LOG:


$20111126 22:33:01.140 8728/10152 info: CConference::JoinConference, m_conf_status=0:
 ConfInfo: ID=1000000000004,cluster=cluster1,name=,pass=1,flag=-2147483648,attendee=2000,start=1269827390,duration=3600,type=24,license=puBt0uLgSgcP8RAJaFOnKQynX+7hMMEw96GL3M/k8Kgz95fMBc80hdqXZ2QSoDc6JXH4/RNBJT9px4DImtEBKNlTOSiyLOCg0A==|Y29uZlNpdGVVc2VyPTEwMDA7Y29uZlNpdGVBdWRpdFVzZXI9MTAwO2VpbVNpdGVVc2VyPTEwMDA=,area=top,extend=,main=
 UserInfo: ID=6666,name=f,role=-805306368,privilege=13631488,area=top,extend=,status=0
 numberController=1,isSingleServer=0,joinFlag=2147483648 this=0x20aabd0
$20111126 22:33:01.140 8728/10152 info: CConference::ChangeRoleService, update p2p support as role change: 3489660928 this=0x20aabd0
$20111126 22:33:01.140 8728/10152 info: CRtCleanUpBase::CRtCleanUpBase, Item: 2, this: 0x20ac348
$20111126 22:33:01.140 8728/10152 info: CFileManager::CFileManager
$20111126 22:33:01.140 8728/10152 info: CRtCleanUpBase::CRtCleanUpBase, Item: 3, this: 0x20ac478
$20111126 22:33:01.140 8728/10152 info: CSDService::CSDService
$20111126 22:33:01.140 8728/10152 info: CFileManager::Initialize, dataDir=, isServer=0, clearDays=0
$20111126 22:33:01.140 8728/10152 info: CFileManager::SetDataDir, data dir=D:\confcache\8728\
$20111126 22:33:01.140 8728/10152 info: CFileManager::ClearDiskCache, data dir=D:\confcache\
$20111126 22:33:01.140 8728/10152 info: CFileManager::DirExists. Dir:D:\confcache\8728 is not exist.
$20111126 22:33:01.140 8728/10152 info: CFileManager::DirExists. Dir:D:\confcache\8728 is not exist.
$20111126 22:33:01.140 8728/10152 info: CFileManager::DirExists. Dir:D:\confcache is exist.
$20111126 22:33:01.140 8728/10152 info: CFileManager::CreateDir. mkdir:D:\confcache\8728
$20111126 22:33:01.140 8728/10152 info: CRtThread::Create, aType=1001 aFlag=2 this=0x20ac7c8
$20111126 22:33:01.593 8728/18376 info: CRtThread::ThreadProc, begin this=0x20ac7c8
$20111126 22:33:01.593 8728/18376 info: CRtThreadTaskWithEventQueueOnly::OnThreadRun, Begin.
$20111126 22:33:01.593 8728/10152 info: CPingBase::CPingBase, clusterid=cluster1 this=0x20aca60
$20111126 22:33:01.593 8728/10152 info: CPingBase::CPingBase, controllers: size=1,tcp://192.168.1.101:443 this=0x20aca60
$20111126 22:33:01.609 8728/10152 info: CConfPing::CConfPing, conference=0x20aabd0 this=0x20aca60
$20111126 22:33:01.609 8728/10152 info: CPingBase::StartPing, m_serverlists.size=1 this=0x20aca60
$20111126 22:33:01.609 8728/10152 info: CRtCleanUpBase::CRtCleanUpBase, Item: 4, this: 0x20accc0
$20111126 22:33:01.609 8728/10152 info: CRtIMConnProvider::Initialize,
$20111126 22:33:01.609 8728/10152 info: CRtIMConnProvider::Connect, pSink=0x20aca60,address aNumber=1,aEventType=2,aSync=0
$20111126 22:33:01.609 8728/10152 info: CRtIMConnProvider::Connect_i, use reliable tcp. this=0x20accc8
$20111126 22:33:01.609 8728/10152 info: CRtIMConnector::CRtIMConnector, aSink=0x20aca60,aEventType=2,aConnector=0x20ace78 this=0x20ad228

5. 一些杂问

* 80端口谁在使用?

Controller.exe:16040    TCP    192.168.1.101:80    0.0.0.0:0    LISTENING    
在iwlab.ini中找不到80端口的设置。


* ConfMain.exe的网络连接什么时候冒出来的?

ConfMain.exe:8728    TCP    192.168.1.101:4303    192.168.1.101:443    CLOSE_WAIT    

* log

$20111126 22:47:27.093 17704/17232 info: CRtConnectorTcpT::Connect_i, addr=192.168.1.101 port=443 fd=0xe60 this=0x20ab210

Q:这条日志谁打印的?


$20111126 22:49:16.968 17704/17232 WARN: CRtEventQueueBase::ProcessOneEvent, report, sec=163 usec=453125 aEvent=0x20ad2f8 m_dwSize=0
$20111126 22:49:17.468 17704/17232 info: CRtConnectorTcpT::OnOutput, localip=192.168.1.101 port=4404 fd=0xe60 trpt=0x20ab530 this=0x20ab210
$20111126 22:49:17.468 17704/17232 info: CRtConnRlbTcpClient::OnConnectIndication, result=0 trpt=0x20ab534 this=0x20ab3e8
$20111126 22:49:17.468 17704/17232 info: CRtConnRlbTcpClient::OnRecvConnResp, channel=28 connType=[Reliable-TCP] ticket=1694620881

这几条信息出来后,ConfMain.exe的连接可以被tcpview.exe观察到了。


可能是有一个定时期出发的吧?

        ::SetTimer(m_hWnd, TIME_CONF_CONNECT, TIME_CONF_CONNECT_TIME, NULL);


在CMainFrame::OnTimer上设端点,过了N分钟,断点未执行,但突然出现以下log:

$20111126 23:15:26.562 15204/1292 info: CRtConnectorTcpT::Connect_i, addr=192.168.1.101 port=443 fd=0xe74 this=0x20ab4b8
$20111126 23:15:26.578 15204/1292 WARN: CRtEventQueueBase::ProcessOneEvent, report, sec=383 usec=312500 aEvent=0x20ad3f0 m_dwSize=0
$20111126 23:15:27.078 15204/1292 info: CRtConnectorTcpT::OnOutput, localip=192.168.1.101 port=4752 fd=0xe74 trpt=0x20ab698 this=0x20ab4b8
$20111126 23:15:27.078 15204/1292 info: CRtConnRlbTcpClient::OnConnectIndication, result=0 trpt=0x20ab69c this=0x20ab550


Q:从哪里来执行的呢?






基于灰度信息的图像配准方法 图像配准方法分为三种:基于灰度信息方法、基于变换域方法和基于特征方法。基于灰度信息方法是直接根据图像或图像块灰度信息进行像素上的对齐,该方法主要思想是直接最小化图像信息差异。然而,图像信息差异的判断准则衍生出不同的配准方法。常见的基于灰度信息的图像配准方法包括互相关法、互信息法和误差平方和法。本节将分别对互相关法、互信息法和误差平方和算法展开介绍,并通过MATLAB进行演示。基于灰度的图像方法容易实现,但同样存在不足。该方法对成像条件(光照,遮挡)、图像形变旋转以及噪声极其敏感,同时具有较高的计算复杂度。 阅读详情

相关推荐

HC32F460 FPU实战:从零开启硬件浮点加速

本文详细介绍了如何在HC32F460开发板上启用和优化FPU(浮点运算单元),以显著提升硬件浮点运算性能。从工程配置、关键代码修改到实战优化技巧,全面解析FPU加速的实现方法,并分享常见问题的解决方案,帮助开发者避免常见陷阱,充分发挥HC32F460的硬件潜力。

weixin_42620340的博客 348

UC故事2011/12/04 总结与规划 (续)

1. 要点总结 * 2011/11/22: Client核心类图及关于XXXSink的理解 * Chat窗口中的信息如何传递到服务器 UI线程:UI上的button消息响应函数 UI线程:得到网络线程的Reactor指针pReactor UI线程:pReactor->PostEvent(SendDataEvent),投递event,并呼叫NotifyHandler通知reactor处理e

printf1998的专栏 703

MEG预处理-Brainstorm

Brainstorm下载和安装 去Brainstorm官网进行下载:打开网页后,点击左侧Download;在跳出来的界面中进行简单的注册,注册完成后可以进行下载 解压后得到“brainstorm3”的文件夹,里面包含Brainstorm工具包的所有文件,把这个文件夹放在某个路径如"E:\matlab_tools\brainstorm3"即可 同样在某个路径建立空的文件夹命名为:brainstorm_db用于工具包运行过程中自动存储生成的文件,所以这个文件中生成的数据不要手动移动删除 在Matlab中,把.

AxeChen的博客 6121

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)问题的解决

当出现这个错误时,意味着80端口被占用。 方法一、使用: fuser -k 80/tcp 将进程杀死后,启动nginx。 方法二、 ps -A | grep nginx kill -9 pid1 kill -9 pid2 杀死对应的两个进程之后,启动nginx

追光少年的博客 1万+

从零开始之stm32之CAN通信

CAN通信极简教程(小白友好版),从小白的视角了解并实现简单的STM32F103的CAN通信,直接上手。

qq_30993593的博客 1306

Hypermesh二次开发实战:从Tcl/Tk脚本到Ext API的进阶之路

本文系统介绍了Hypermesh二次开发的进阶路径,从自动化重复操作的Tcl/Tk脚本入门,到利用HMASCII接口深度读写模型数据,最终深入Ext API进行高性能计算与功能定制。通过实战案例,帮助工程师掌握从脚本录制到C++插件开发的完整技能,显著提升CAE前处理效率与自动化水平。

weixin_29306875的博客 670

39岁宿华卸任:他们都不当CEO了

40岁左右,他们纷纷卸任CEO。 作者 I 周佳丽 报道 I 投资界PEdaily 又一互联网大佬让出CEO之位。 昨晚(10月29日),快手发布公告称,现年39岁的公司联合创始人宿华辞去CEO一职,由联合创始人程一笑接任该职位,此后,宿华将继续担任快手董事长、执行董事、薪酬委员会委员,程一笑则作为首席执行官将负责公司日常运营及业务发展,并向宿华汇报。这是快手上市后最大的一次人事变动。 快手是创投圈过去十年最受瞩目的成长案例之一,宿华正是灵魂人物之一。1982年,宿华出生在湖南湘西永顺土家.

m0_46163918的博客 2755

Python 爬虫实战:爬取哔哩哔哩知识区,抓取高赞课程信息

哔哩哔哩(Bilibili)是一个广受欢迎的综合性视频社区,其中的知识区汇聚了大量优质的教育、科普、技术等课程内容。本文将指导读者如何使用 Python 爬虫技术从哔哩哔哩知识区抓取高赞课程信息,并进行数据分析。本文深入探究了利用 Python 爬虫技术从哔哩哔哩知识区抓取高赞课程信息的全流程。从前期的环境搭建、模拟登录,到核心的课程数据抓取、存储,再到后续的数据分析与可视化,都详细展开讲解并提供代码支持。通过此方法所获取的数据,能够助力创作者优化内容、用户发现优质课程、平台洞察用户需求。

u014481728的博客 1135

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

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

printf1998的专栏 3171

海康visionmaster开发笔记10-集成HALCON第三方算子到VM工具箱的方法

海康visionmaster开发笔记10-HALCON第三方算子到VM工具箱的方法

视觉人机器视觉的博客 4346

基于加速科技ST2500的SN74HC00N芯片测试计划

实际上随着工艺的进步,器件内部和引脚间的绝缘氧化膜越来越薄,导致漏电流发生的概率更大,另外制造过程中的工艺缺陷导致的桥接,异物或封装过程中造成的芯片划伤、引裂,都会造成IC的漏电流偏大,有部分产品可能会表现出漏电流偏大,但功能正常,此类产品具有潜在的可靠性问题,漏电流测试的目的就是把具有此类缺陷的产品筛选出来,避免其流到最终产品造成更大的损失。漏电流的测试方法相对简单,就是根据产品手册或测试规范对被测引脚施加额定的电压,然后测量其输入或流出的电流是否符合相应的设计规范。74HC00引脚功能如表所示。

weixin_68288412的博客 1434

读书与UC

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

printf1998的专栏 1828

在 SAP Fiori 中正确配置 Group 角色:从 PFCG 分配到首页呈现的完整链路

摘要:SAP Fiori项目中,用户登录后能否看到应用往往取决于角色配置而非前端开发。关键在于通过PFCG角色将launchpad designer中创建的tile group关联到用户角色。Catalog是应用池,group是用户首页可见的工作区。正确配置后,用户会看到角色对应的默认分组,同时保留个性化调整能力。项目实施中常见问题是应用开发完成但未正确配置group与角色关联,导致业务用户无法在首页看到应用入口。(150字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 164

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

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

SAP B1中文培訓教材_SDK

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

iPhone/iPad Audio Unit声音播放

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

printf1998的专栏 1045

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

UC故事2011/11/30

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

printf1998的专栏 1014

WINCC7.3破解文件

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

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/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故事 2012/04/26

1. client/server browsing Q: 以下为对应关系? session::CConference gcc::InfoSvrConf session::CConfSession gcc:InfoSvrSession   Note: :CConfDetailInfo is used by both client and gcc !   * biz concep

printf1998的专栏 700

【数据结构-5】单链表的实现

单链表,具体来说是单向的、不带头的、不循环的链表。链表由一个一个节点组成,每个节点分为数据域和指针域,数据域存放数据,指针域存放下一节点的地址。这样,就可以根据指针域中的地址找到下一个节点,节点就串起来了构成了单链表。

weixin_44218929的博客 162

C# 数据结构和特殊类型

.NET Core(现称.NET)提供丰富数据结构,优化性能与开发效率。日常开发首选List<T>和Dictionary<TKey,TValue>;高性能场景推荐Span<T>与Memory<T>减少内存分配;并发环境使用ConcurrentDictionary等线程安全集合;避免非泛型集合如ArrayList。

cccloveforever的博客 661
上一篇: UC故事2011/11/25
下一篇: UC故事2011/11/27 - 1
printf1998
博客等级 码龄16年 14粉丝 196原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值