大家好,我用ATL建了个COM组件,要给上层应用调用,我这个COM内想实现跟远程一个EXE程序通讯,EXE作为服务端监听,COM组件内使用阻塞套接字,并创建一个线程接收数据。请问我能否在COM一被调用时就创建SOCKET与EXE通讯,然后立马启动一个线程来接收数据?然后在COM被销毁的时候关闭SOCKET并退出线程,这样就不会造成上层应用卡住之类的麻烦问题。谁能给个好的思路

解决方案 »

  1.   

    通迅与COM也没有什么必然的关系,COM只是对象与方法的封装.
    把socket封装到COM里,引出接口就可以了.注意接收到数据时用回调.
      

  2.   

    tttyd saiyaman5 你们好 感谢你们的回复 你们说接收到数据用回调是什么意思?我本来想开个线程 线程里面
    while(线程启用标志)
    {
      //接收数据
      //如果有数据,拆包,然后fire_相应事件
    }你们说的回调是不是这个意思?
      

  3.   

    另外问下,我写的COM组件 注册成功后在我机器上面用ActiveX Control Test Container 看不到  但是在别人机器上面看的到 这个是怎么回事?
      

  4.   

    应用程序调用com接口异步操作,就不会阻塞