草庐IT

使用 Lua 脚本和海康 VisionMaster 进行 TCP 通信

说明:因任务需求,需要进行海康VisionMaster服务端和Lua脚本客户端进行TCP通信传输数据。因为之前从未接触过Lua语言,所以也趁机学习一波。内容Lua教程手册LuaSocket使用方法一方法二报错:“attempttocomparenumberwithstring”Lua教程手册https://www.runoob.com/lua/lua-tutorial.htmlLuaSocket使用  LuaSocket是Lua的网络模块库,它可以很方便地提供TCP、UDP、DNS、FTP、HTTP、SMTP、MIME等多种网络协议的访问操作。本文只给出Lua客户端,用于接收服务端发送的字符串

windows - 如何使用MFC统计Windows中每个进程的线程数

我想使用MFC构建一个类似于应用程序的任务管理器。我已经成功地枚举了当前运行的各种进程的PID和内存使用情况。我的问题是我还想获得每个进程运行的线程数。 最佳答案 您可以使用Toolhelperlibrary来做到这一点(以及更多相关的事情)(win32)通过进程snapshot然后走路Thread32First/Next. 关于windows-如何使用MFC统计Windows中每个进程的线程数,我们在StackOverflow上找到一个类似的问题: http

linux - 为什么关闭死掉的tcp-socket会影响另一个打开的tcp套接字?

我们面临一个奇怪的问题,即关闭死掉的tcp套接字(由拔掉电线引起)会影响另一个正常打开的tcp套接字。以下是详细信息:拓扑客户端A←→交换机A←路由器A:NAT←..网络..→路由器B:NAT→交换机B←→服务器B问题:假设客户端和服务器之间存在断开连接,这是由于拔出了电线造成的。拔掉电缆(在机器和交换机之间)后,我们从另一台机器登录客户端A,现在客户端和服务器之间将建立新的tcp连接,并且该连接正常。我们发现,如果在tcp内核仍在重新传输数据的同时关闭服务器的tcp连接,则另一个tcp连接似乎已被污染,并且从客户端到服务器的方向将变得不可用,这意味着通过通过连接的客户端永远不会被服务

c++ - MFC GUI 应用程序重写 - 线程、消息传递、文档/ View 等。需要建议

我正在重写一个有很多问题的MFC应用程序。主要问题是不稳定。它是一个GUI应用程序,通过USB与外部模块通信。因此,它通过使用计时器每n毫秒运行一次通信堆栈。然而,系统调用不允许在计时器回调中使用,因此程序不稳定,因此经常崩溃和挂起。所以我必须重写应用程序以在后台线程中运行通信堆栈。这里的另一个问题是数据没有完全与表示分离,如果我使用另一个线程,我必须确保我保护共享资源。所以,主要是通信栈会通知应用程序有新的数据。这应该由工作线程处理。它运行通信堆栈,处理新消息,然后在更新数据结构时锁定数据结构,然后回复模块。然后它向主线程发送一strip有PostMessage的消息以更新GUI。但

c++ - 如果我有一个引用该控件的 CWnd 对象,是否有一种方法可以获取对 MFC 对话框上所有子窗口或控件的引用?

假设我有一个带有多个按钮的MFC对话框。(例如“红色”、“蓝色”、“绿色”和“黄色”按钮)这些按钮都有诸如("IDC_BUTT_RED","IDC_BUTT_BLUE","IDC_BUTT_GREEN","IDC_BUTT_YELLOW")鉴于我有一个CWnd对象,它引用放置这些按钮的对话框窗口。有没有办法获取这些ID的列表?我知道有一个CWnd::GetNextDlgGroupItem方法,根据描述应该循环访问一组控件。我尝试使用它,传入一个引用其中一个按钮的CWnd对象,然后调用GetWindowText方法进行检查,但它总是返回对自身的引用。 最佳答案

c++ - 如何在 MFC 中获取嵌入式 Web 浏览器控件的 HWND

我正在使用嵌入式webbrowsercontrol在基于对话框的MFC窗口中,我需要知道其中的Web浏览器控件的HWND。我能够找到以下声称可以检索它的代码:HWNDhWndWebBrowser=NULL;LPUNKNOWNunknown=m_browser.GetControlUnknown();IWebBrowser2*pWB=NULL;if(SUCCEEDED(unknown->QueryInterface(IID_IWebBrowser2,(void**)&pWB))){CComPtrpServiceProvider;if(SUCCEEDED(pWB->QueryInterfa

c++ - MFC 64 位代码在 Windows Server 2008 R2 上比 32 位代码慢

我运行以下MFC代码:CArrayl_Arr;for(inti=0;i如果我构建64位版本,代码运行速度比32位版本慢2倍。我尝试了Debug和Release版本。时间如下:Debug64bit:15085msDebug32bit:8128msRelease64bit:8237msRelease32bit:4695ms我的配置:MicrosoftVisualStudio2005Version8.0.50727.4039(QFE.050727-4000)WindowsServer2008R2Standard64bitProcessor:Intel(R)Xeon(R)E5645@2.40G

windows - 如何为 UWP Windows 10 应用启用环回作为 TCP 服务器?

我正在使用通用Windows(UWP)应用在Windows10上工作。我在UWP应用程序中使用StreamSocketListener作为服务器进行监听。我在应用程序list中启用了“Internet(客户端)”和“专用网络(客户端和服务器)”。我使用CheckNetIsolation.exe工具为我的UWP应用启用环回。这有效:从远程计算机向UWP应用程序发送TCP消息。这失败了,但我需要它才能工作:从本地计算机向UWP应用程序中的StreamSocketListener发送TCP消息。CheckNetIsolation.exe工具似乎对作为服务器的UWP应用没有影响。我需要将UWP

windows - 如何在 MFC 中获取 CString 宽度(对于 Unicode)?

我有一个支持多语言的MFC应用程序。为了支持多语言,我开发了一个可以计算String(CString)绘图宽度的API。它仅适用于英语。对于其他unicode语言,如俄语、印地语、阿拉伯语(RTL)等,它无法计算字符串的确切宽度。以下是API代码:CRectMyUtil::GetTextRect(LPCTSTRstr,CRect*rect,UINTformat,MyFontClass*textFont/*,BOOLgetActualRect*/){if(str==NULL||_tcslen(str)==0||rect==NULL||rect->Width()Height()GetCFo

c# - 帮助windows TCP端口通信

我刚开始了解进程间通信的工作原理。我在我的本地机器上使用两个应用程序,一个源应用程序和一个服务器应用程序。源应用程序通过我电脑上配置的端口广播文件。服务器应用程序监听这些文件并将它们公开到互联网供用户流式传输。我想从等式中删除服务器应用程序并编写一个新的应用程序来与源应用程序通信。到目前为止,我的应用程序已连接到端口并正在监听。我能够从端口接收消息。我收到的消息似乎是元数据,没有文件。我的假设是服务器应用程序在获取此元数据信息以获取文件后发送响应。因此我的应用程序需要模仿服务器应用程序。但是我不知道如何响应源应用程序的端口。1)是否有一种工具可以用来监控源应用程序和服务器应用程序之间的