GoogleCloudMessage推送的使用三(整个服务器玩)

本文详细介绍如何搭建Google Cloud Messaging (GCM) 推送服务,包括配置Tomcat服务器、替换ServiceApiKey、启动Tomcat服务及部署gcm-demo.war文件等步骤。

Google的推送流程应该是,先由你自己的服务器推送至Google的服务器,然后Google服务器再推送至注册的手机。所以这个操蛋的流程和操蛋的墙,国内的用户你就别想了,太麻烦,还要登录Google账号才能使用。

言归正传,搭建一个Tomcat的服务器,这个我就不说了,网上一搜一大堆。搭建好以后访问localhost:8080如果显示可爱的小猫,我们的第一步就完成了。

接下来。。。。

 第一步:需要找gcm目录下(/gcm/samples/gcm-demo-server/WebContent/WEB-INF/classes/api.key)api.key这个文件,把你刚才申请的Service ApiKey替换掉里边的文本。 注意啊,是service key,我就因为填写了API key导致无法推送消息,还自己研究了好久。

第二步:然后在终端下先定位到tomcat安装路径/bin目录下,执行$ sudo sh startup.sh,开启tomcat服务,接着定位到samples/gcm-demo-server路径,在终端输入$ ant war命令

第三步: 找到 samples/gcm-demo-server/dist/下有一个gcm-demo.war文件,拷贝到Tomcat安装目录/wepapps/下,然后打开浏览器,在地址栏输入你刚才"你的IP地址/gcm-demo/home",这时候网页左上角就会返回“No devices rigistered”。



这样服务端就搭建好了。当你打开你的APP的时候,如果注册成功这里就会变成



点击Send Message就会给客户端推送一条空消息了。GCM使用记录到此为止。大家有问题可以提问。本菜鸟码字不容易,转发请带原作者地址。让我们一起尊重原著,拒绝伸手党。

### 处理方法 处理鼠标离开指定窗口客户区,通常要在窗口的鼠标移动消息处理函数里调用`TrackMouseEvent`函数,以此来请求系统在鼠标离开窗口时发送`WM_MOUSELEAVE`消息。以下是示例代码: ```cpp // 设置一个状态量用于记录和标识鼠标是否在窗口内 BOOL m_bMouseTracking; // 处理鼠标移动消息 void CXXXDlg::OnMouseMove(UINT nFlags, CPoint point) { // 接收到WM_MOUSEMOVE,而m_bMouseTracking为假时,鼠标进入窗口。 // 设置_TrackMouseEvent TRACKMOUSEEVENT tme; tme.cbSize = sizeof(TRACKMOUSEEVENT); // 监控鼠标离开 tme.dwFlags = TME_LEAVE; tme.hwndTrack = this->m_hWnd; if (::_TrackMouseEvent(&tme)) { m_bMouseTracking = TRUE; // 其他鼠标进入时的操作 } CDialog::OnMouseMove(nFlags, point); } // 处理WM_MOUSELEAVE消息 LRESULT CXXXDlg::OnMouseLeave(WPARAM wParam, LPARAM lParam) { m_bMouseTracking = FALSE; // 处理鼠标离开时的操作 return 0; } ``` 在上述代码中,`OnMouseMove`函数里调用`TrackMouseEvent`函数,请求系统在鼠标离开窗口时发送`WM_MOUSELEAVE`消息。当收到`WM_MOUSELEAVE`消息时,会调用`OnMouseLeave`函数处理鼠标离开的操作。 ### 原理 `TrackMouseEvent`是Windows API函数,可用于跟踪鼠标的特定事件,如鼠标离开窗口、鼠标在窗口内停留等。调用`TrackMouseEvent`时,需要传入一个`TRACKMOUSEEVENT`结构体,该结构体包含了跟踪鼠标事件的相关信息,如跟踪的窗口句柄、跟踪的事件类型等。当设置`dwFlags`为`TME_LEAVE`时,系统会在鼠标离开指定窗口客户区时发送`WM_MOUSELEAVE`消息。需要注意的是,每调用一次`TrackMouseEvent`,窗口只能收到一次`WM_MOUSELEAVE`消息。若要持续监控鼠标离开事件,当鼠标重新进入窗口时,必须再次调用`TrackMouseEvent` [^1][^2][^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值