发表在C语言图书答疑 2009-05-15
是否精华
版块置顶:
在该章中Client端是通过WSAAsyncSelect(m_Socket,m_hWnd,CM_RECEIVED,FD_READ)才开始给服务器端发送数据的,换句话说就是刚启动程序时,只有当服务器端给客户端发消失,客户端才开始抓屏并传送给服务器。可是我在服务器程序启动时初始化的代码中找不到给客户端发送消息的代码。究竟是怎么回事?服务器是什么时候给客户端发送消息的从而触发客户端的WSAAsyncSelect函数的?
分享到:
精彩评论 2
songkun
学分:0 LV1
2009-05-16
沙发


WSAAsyncSelect(m_Socket,m_hWnd,CM_RECEIVED,FD_READ)语句的作用是在客户端套接字有数据接收时向窗口发送CM_RECEIVED,执行语句关联的OnReceived方法。
程序的流程是,在客户端程序启动时,即主对话框初始化时调用SetTimer方法开始一个计时器,在规定的时间间隔执行OnTimer方法,在OnTimer方法中会调用OnOK方法来抓取屏幕图像,将其发送的服务器。无论服务器是否运行,否会发送信息。
在服务器端运行时,如果收到客户端发来的图像数据,会显示图像数据,然后向客户端发送“Confirm”确认信息,表示以收到图像。在服务器端,可以通过上下左右按钮向客户端套接字发送控制指令,如果客户端收到了指令,将向窗口发送CM_RECEIVED消息(也就是WSAAsyncSelect(m_Socket,m_hWnd,CM_RECEIVED,FD_READ)语句的作用),进而执行OnReceived方法调整抓图的左上角坐标。
992159241@qq.com
学分:0 LV1
TA的每日心情
今天就算开始学习了
2020-06-16 22:49:07
2014-01-02
板凳
[FIELDSET][LEGEND]引自:1楼[/LEGEND]


WSAAsyncSelect(m_Socket,m_hWnd,CM_RECEIVED,FD_READ)语句的作用是在客户端套接字有数据接收时向窗口发送CM_RECEIVED,执行语句关联的OnReceived方法。
程序的流程是,在客户端程序启动时,即主对话框初始化时调用SetTimer方法开始一个计时器,在规定的时间间隔执行OnTimer方法,在OnTimer方法中会调用OnOK方法来抓取屏幕图像,将其发送的服务器。无论服务器是否运行,否会发送信息。
在服务器端运行时,如果收到客户端发来的图像数据,会显示图像数据,然后向客户端发送“Confirm”确认信息,表示以收到图像。在服务器端,可以通过上下左右按钮向客户端套接字发送控制指令,如果客户端收到了指令,将向窗口发送CM_RECEIVED消息(也就是WSAAsyncSelect(m_Socket,m_hWnd,CM_RECEIVED,FD_READ)语句的作用),进而执行OnReceived方法调整抓图的左上角坐标。
[/FIELDSET]

回复:
  为什么我按视频做出来的系统不能通过上下左右按钮箱客户端发送控制指令?求解答!!!
首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照