1

我们正在使用PushSharp发送 GCM (Google Android) 通知。将来我们还将使用 lib 的 IOS 和 WinPhone 部分。

有几个事件,例如:

  • OnDeviceSubscription 已过期
  • OnDeviceSubscriptionChanged
  • OnNotificationFailed

经过相当多的测试后,我从未见过这些事件被触发。我现在怀疑通信可能是异步的,并且我们可能需要为运行托管 PushSharp 服务的机器打开一些端口。

如果是这种情况,应该转发哪些端口,有没有办法配置或调整端点?

4

1 回答 1

1

不需要入站端口。GCM 需要普通的 HTTP 或 HTTPS 出站端口(用于 HTTP GCM 连接服务器。GCM 云连接服务器不同,但我很确定它也不需要入站端口,无论如何,PushSharp 可能正在使用 HTTP GCM服务器)。APNS 需要出站 2195 和 2196 端口。

您提到的事件可能是 PushSharp 在从 GCM 或 APNS 收到错误响应时触发的(或者,对于 APNS,当它从反馈服务获取设备令牌时)。在 GCM 中,通信是同步的(假设 PushSharp 使用 HTTP GCM 连接服务器)。在 APNS 中,通信是异步的,但是客户端(即您的第 3 方服务器)从用于发送消息的同一个套接字读取错误响应,因此 APNS 服务器不会启动与您的服务器的任何通信。

于 2013-11-22T15:21:18.307 回答