哪位能给个Winsock 32API中使用WSAASyncSelect函数的例子啊??
请问在用accept函数接受一个socket的连接之前,有没办法知道这个Socket的队列里面当前有没连接的请求啊???因为accept是阻塞的,如果socket队列里面没连接请求的话,我不想调用accept函数啊!!有没办法解决???我知道用WSAASyncSelect函数设置socket异步工作,但是我的是NT service啊!!没有窗口句柄的啊!!而且自己写消息映射怎么做啊??谁能给我个例子啊?最好是结合accept函数一齐的! 问题点数:50、回复次数:3Top
1 楼2ndboy(贱男春)回复于 2002-04-24 17:22:08 得分 0
NT service里面没有窗口句柄?Top
2 楼nickypan(Nicky)回复于 2002-04-24 17:27:32 得分 0
我的Service没有窗口啊!!哪有窗口句柄!Top
3 楼freelybird(阿愚)回复于 2002-04-24 17:30:41 得分 50
1.用WSAASyncSelect()就一定需要窗口.当然,如果你不需要这个窗口可见的话,可以把它hide.至于具体的例子,你可以看看Microsoft包的CSocket,它的实现挺巧妙的.不过调用这个函数之后,socket会被置为非阻塞的,所以发送数据时,注意丢包.
2.还有一种方法,就是用select(),因为这个函数就是检查队列中数据状的,一般的阻塞方式编写socket都会在accept()receive()send()之前调用这个函数.Top




