我正在WindowsCE 6.0平台上开发。到目前为止,我已经在我的CE平台中内置了Windows CE Web服务器,ASP解释器和VBScript,并显示了一些asp网页。
我想与在同一块板上运行的 c++ 应用程序交换数据。以前,我们曾经使用ISAPI扩展来执行此操作,该扩展打开内部套接字并来回传输数据,但从Web开发的角度来看,这是不切实际的。ISAPI 扩展必须包含在 CE 平台中,因此重建的平台意味着每次要修改 Web 表单中的逗号时需要 45 分钟。
我知道我的选择是有限的。我听说过 COM 对象。我对它们一无所知(如何构建,如何将它们包含在平台中,也不知道如何使用我不知道如何生成的 cslid 注册它们,也不知道如何通过 asp 语言与它们"交谈",这在 Windows CE 上非常有限。例如,不支持任何服务器方法(这包括Sever.CreateObject()
(仅Server.MapPath()
。(我知道这无关(。
我还环顾四周,是否可以直接从 VBScript 打开套接字(我没有 .net,只有 asp classic(,并且没有找到任何与我想做的事情完全相关的东西。
有什么建议吗?
在应用程序中实现 COM 接口是最简单的方法。我没有说这很容易,我说这是最简单的,记住这一点!使用 ATL,您可以从 COM 包装大部分样板内容,并让页面直接在应用程序中调用方法。您应该将接口限制为 IDispach 兼容的数据类型(因此没有结构等,您必须将它们包装在 COM 对象中(,调试将是一种噩梦,必须检查页面上的问题和C++代码,但它是可行的。而且您不会被迫将ISAPI dll保留在映像中,您可以从大容量存储中加载它,然后当您需要测试新版本时,您所需要的只是杀死并重新启动Web服务器。还可以将调试器附加到 HTTP 服务器进程(服务.exe(并对其进行调试。将 DebugBreak 调用放在调用的第一个函数中通常允许您加载调试符号并单步执行代码。
是的,我能够"回收"我的这个 dll,按照上面的建议从大容量存储中运行它,并让它将数据"推送"到我的应用程序。我可以看到由"&"字段分隔的帖子
我所做的是这样引用它:
这是一个开始...但是网站和DLL在一次使用后都会挂起(可能正在等待我没有正确执行的回报。我是这个网络世界的新手(是的,我知道,它很旧(,对它一无所知......更像是一个C++/嵌入式家伙:)
Html5还实现了一项名为"Web sockett"的新技术,该技术专门为基于Web的应用程序提供了双向通信。讨论的是:
这里: http://www.tutorialspoint.com/html5/html5_websocket.htm
在这里: https://www.rfc-editor.org/rfc/rfc6455