Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GCM超时&;发送5000个推送通知后连接被拒绝_Java_Google Cloud Messaging_Chrome Gcm - Fatal编程技术网

Java GCM超时&;发送5000个推送通知后连接被拒绝

Java GCM超时&;发送5000个推送通知后连接被拒绝,java,google-cloud-messaging,chrome-gcm,Java,Google Cloud Messaging,Chrome Gcm,我需要每秒通过gcm服务发送500个推送通知。不幸的是,与chrome49不同,我必须为每个chrome50客户加密消息,加密密钥在请求头中指示。在发送了5000条以上的消息后,我收到了超时&连接被拒绝,它停止工作了一段时间,然后定期正常工作 在线程中运行的Post请求 try { String path = "https://android.googleapis.com/gcm/send"; URI uri = new URIBuilder()

我需要每秒通过gcm服务发送500个推送通知。不幸的是,与chrome49不同,我必须为每个chrome50客户加密消息,加密密钥在请求头中指示。在发送了5000条以上的消息后,我收到了超时&连接被拒绝,它停止工作了一段时间,然后定期正常工作

在线程中运行的Post请求

        try {
        String path = "https://android.googleapis.com/gcm/send";
        URI uri = new URIBuilder()
                .setPath(path)
                .build();
        HttpPost httpPost = new HttpPost(uri);
        httpPost.addHeader("Accept", "application/json");
        httpPost.addHeader("Content-Encoding", "aesgcm");
        httpPost.addHeader("Cache-Control", "no-cache");
        httpPost.addHeader("Connection", "Keep-Alive");
        httpPost.addHeader("Content-Type", "application/json");
        httpPost.addHeader("Authorization", "key=" + appKey);
        httpPost.addHeader("Encryption", encryptionHeader);
        httpPost.addHeader("Crypto-Key", cryptoKeyHeader);
        httpPost.setEntity(new StringEntity(jsonFromData));
        HttpResponse response = client.execute(httpPost);
        HttpEntity entity = response.getEntity();
        String responseString = EntityUtils.toString(entity).replace("%", "@");
        LOGGER.info(responseString);
    } catch (Exception e) {
        e.printStackTrace();
    }
例外:连接被拒绝

org.apache.http.conn.HttpHostConnectException:连接到 拒绝 org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:190) 在 org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294) 在 org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:643) 在 org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479) 在 org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906) 在 org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805) 在 org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784) 在 com.mpsdevelopment.push.threads.SenderThread.sent(SenderThread.java:100) 在 com.mpsdevelopment.push.threads.SenderThread.run(SenderThread.java:76) 在 Executors$RunnableAdapter.call(Executors.java:511) 在java.util.concurrent.FutureTask.run(FutureTask.java:266)处 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 运行(Thread.java:745)

连接超时

原因:java.net.ConnectException:连接超时:连接 位于java.net.DualStackPlainSocketImpl.connect0(本机方法) java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79) 在 java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) 在 java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) 在 java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 在java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)中 位于的java.net.socksocketimpl.connect(socksocketimpl.java:392) java.net.Socket.connect(Socket.java:589)位于 位于的sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668) org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:414) 在 org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180) ... 还有13个


当您遇到
错误连接\u被拒绝时
,请检查您的internet连接,检查所有电缆并重新启动您可能正在使用的路由器、调制解调器或其他网络设备。错误主要是由于internet连接中的问题以及用于连接internet的设备中存在问题而导致的。按照以下步骤解决此问题

基于此,公司网络中可能会出现许多问题,因为防火墙可能会阻止对非常不寻常的端口的访问,或者代理可能会干扰任何传出流量。这个异常表示您的网络出现了问题——只是超时而已。我想谷歌和你的供应商都不是问题所在。检查您的设置以及您与外部internet之间的防火墙(公司或个人)