完成端口 与 AcceptEx 的问题.
cnvvv 2004-05-11 05:28:40 我用WaitForSingleObject等待acceptex请求.
当有请求时,再用WSASocket建立一个AcceptSocket.
但用户连接后.没有发来数据.我用一个线程来查看用户连接并没有发来数据的用户.如果连接了并在10秒内没有数据发来.就会关闭.
我想知道.在关闭时.我怎么释放这个Socket并释放他有关的PER_IO_CONTEXT(是用HeapAlloc建的).
我所作的关闭:
1.在线程直接关闭.但在释放PER_IO_CONTEXT时出错.
2.上面的错误是由于我关闭AcceptSocket时.同时在完成端口线程中有用户关闭信息,并在这时.完成端口用了这个PER_IO_CONTEXT,所以我释放失败了.所以我就在查超时的线程中只关AcceptSocket,在完成线程中释放PER_IO_CONTEXT,但,在完成中所释放的PER_IO_CONTEXT没想到,竟然是ListenSocket的PER_IO_CONTEXT.
大侠们.高手.........帮帮我啊.