为什么tomcat依赖于Wi-Fi

时间:2013-02-27 06:16:50

标签: android tomcat wifi

我正在GCM(Android)上开发一个示例应用程序。在其中我使用tomcat服务器发送消息。和接收消息的设备。除非我的wifi关闭,否则一切正常。一旦我的Wi-Fi关闭,我就停止向我的设备收到消息,在浏览器上我得到以下错误。任何人都可以告诉wifi和GCM服务之间的联系是什么。?

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.net.UnknownHostException: android.googleapis.com
    java.net.PlainSocketImpl.connect(Unknown Source)
    java.net.SocksSocketImpl.connect(Unknown Source)
    java.net.Socket.connect(Unknown Source)
    com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(Unknown Source)
    com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.connect(Unknown Source)
    sun.net.NetworkClient.doConnect(Unknown Source)
    sun.net.www.http.HttpClient.openServer(Unknown Source)
    sun.net.www.http.HttpClient.openServer(Unknown Source)
    sun.net.www.protocol.https.HttpsClient.<init>(Unknown Source)
    sun.net.www.protocol.https.HttpsClient.New(Unknown Source)
    sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source)
    sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
    sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
    sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source)
    sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(Unknown Source)
    com.google.android.gcm.server.Sender.post(Sender.java:479)
    com.google.android.gcm.server.Sender.post(Sender.java:458)
    com.google.android.gcm.server.Sender.sendNoRetry(Sender.java:170)
    com.google.android.gcm.server.Sender.send(Sender.java:121)
    com.google.android.gcm.demo.server.SendAllMessagesServlet.doPost(SendAllMessagesServlet.java:82)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.33 logs.

如有任何更多说明,请随意提问!!

2 个答案:

答案 0 :(得分:3)

如果发送了通知,则会先将您的服务器发送到Google GCM服务器,然后再从GCM服务器发送到手机。必须启动并运行这两个链接才能使通知到达。

当您关闭WiFi时,似乎已经中断了从服务器到互联网的连接。它无法再连接到Google服务器。

答案 1 :(得分:2)

是的,它应该显示错误。

原因:我假设您使用本地网络连接访问GSM服务。因此,您的设备/手机正在等待您的WiFi连接开启。