H
hellenlong
Unregistered / Unconfirmed
GUEST, unregistred user!
ClientSocket OnRead接受消息时按照指令解析所做的操作
Socket工作在NoBlocking模式下(异步)
指令
1、登录成功反馈指令,此时,需要初始化一些全局列表
2、接受消息指令,此时需要根据全局列表做相应的处理
此时,ClientSocket需要接受这两个指令做相应的处理,可是此时出现,指令1没有处理完,就处理指令2,从而由于全局列表没有初始化成功而导致程序出错。
我现在用信号源做处理,Onread的时候先waitforsingleObject,处理结束后再setEvent(hmutex)。
但是,处理指令2的时候,waitforsingleObject是在等待信号源,但是指令1缺不会处理了,程序死了。
请问我应该如何处理这种情况呢,如何让指令2等待指令1结束后处理呢?
处于NoBlocking模式的clinetSocket应该为每次OnRead开启一个线程吗?
Socket工作在NoBlocking模式下(异步)
指令
1、登录成功反馈指令,此时,需要初始化一些全局列表
2、接受消息指令,此时需要根据全局列表做相应的处理
此时,ClientSocket需要接受这两个指令做相应的处理,可是此时出现,指令1没有处理完,就处理指令2,从而由于全局列表没有初始化成功而导致程序出错。
我现在用信号源做处理,Onread的时候先waitforsingleObject,处理结束后再setEvent(hmutex)。
但是,处理指令2的时候,waitforsingleObject是在等待信号源,但是指令1缺不会处理了,程序死了。
请问我应该如何处理这种情况呢,如何让指令2等待指令1结束后处理呢?
处于NoBlocking模式的clinetSocket应该为每次OnRead开启一个线程吗?