网络实时控制的实现: CSocket还是CAsyncSocket? 阻塞还是非阻塞?解决方法
网络实时控制的实现: CSocket还是CAsyncSocket? 阻塞还是非阻塞?
如题。希望在局域网中一台pc通过socket编程控制另一台pc中进程的启动、暂停或退出。
能实现么,哪种办法?谢谢~
------解决方案--------------------
都可以 CSocket 继承于CAsyncSocket类
前者套接字是阻塞的,后者是非阻塞的
不过都 可以实现 ,CSocket 中的OnReceive ()
OnAccept()都是不影响主线程的
CSocket的网络I/O是阻塞的,它在完成任务之后才返回。CSocket的阻塞不是建立在“阻塞”socket的基础上,而是在“非阻塞”socket上实现的阻塞操作,在阻塞期间,CSocket实现了本线程的消息循环,因此,虽然是阻塞操作,但是并不影响消息循环,即用户仍然可以和程序交互。
如题。希望在局域网中一台pc通过socket编程控制另一台pc中进程的启动、暂停或退出。
能实现么,哪种办法?谢谢~
------解决方案--------------------
都可以 CSocket 继承于CAsyncSocket类
前者套接字是阻塞的,后者是非阻塞的
不过都 可以实现 ,CSocket 中的OnReceive ()
OnAccept()都是不影响主线程的
CSocket的网络I/O是阻塞的,它在完成任务之后才返回。CSocket的阻塞不是建立在“阻塞”socket的基础上,而是在“非阻塞”socket上实现的阻塞操作,在阻塞期间,CSocket实现了本线程的消息循环,因此,虽然是阻塞操作,但是并不影响消息循环,即用户仍然可以和程序交互。