自己做了一个可以支持MFC的系统服务,没有用ATL的COM架构。在ServiceMain中建立了一个CAsyncSocket对象,调用Create成功并用Connect试图连接到另一台服务器。
服务器端收到了连接请求并Accept了(可以保证服务器端代码无问题)。但是在服务中的CAsyncSocket对象始终没有响应OnConnect函数,百思不得其解。不知道是不是因为CAsyncSocket不是一个线程安全对象的原因。且该对象未经改动在其他Windows程序(不是服务)中工作正常。而我重写了CAsyncSocket并用WSAEventSelect和WSAWaitForMultipleEvents代替了原来的CAsyncSocket中的消息泵以后,该对象在服务中可以工作了,但是不稳定。所以我想请教各位达人,CAsyncSocket为什么在Windows NT Service中工作不正常呢?
服务器端收到了连接请求并Accept了(可以保证服务器端代码无问题)。但是在服务中的CAsyncSocket对象始终没有响应OnConnect函数,百思不得其解。不知道是不是因为CAsyncSocket不是一个线程安全对象的原因。且该对象未经改动在其他Windows程序(不是服务)中工作正常。而我重写了CAsyncSocket并用WSAEventSelect和WSAWaitForMultipleEvents代替了原来的CAsyncSocket中的消息泵以后,该对象在服务中可以工作了,但是不稳定。所以我想请教各位达人,CAsyncSocket为什么在Windows NT Service中工作不正常呢?
解决方案 »
- 请问:没有在class中声明的函数,有办法赋值编辑框控件吗?
- vc ado连接SQLSEVER2000数据库怎么获取本机服务器名?
- 如何创建一个特定目录并在里面创建一个文件 (用fopen或CFile::open)
- 如何实现视频控件在网页中双击全屏
- Focus和Capture
- 建立一个自己的窗口类的全过程是怎样的?
- dll的难题
- 大神,求助
- 《com技术内幕》的第5章例子怎么编译时包错LIBCD.lib(crt0.obj) : error LNK2001:unresolved external symbol _main?
- MFC开发控件时调用的类无法析构,求教
- 指针和数组问题,大家来解释一下
- 列表框中加入复选框应该怎么实现?
如果我使用SOCKET API写服务,是可以正常运行的。
========
应该不是这个问题,CAsyncSocket会在内部自己创建一个CSocketWnd创建类对象