Tag: 长轮询

在java中长轮询

我编写了用于长轮询的服务器端代码。 我想用java编写客户端程序。 因此,根据长轮询,客户端发送请求,该请求由服务器提供帮助,并且服务器在事件发生时响应请求,然后客户端发送新请求。 所以我面临的问题是客户端是用java编写的。 发送请求后,如果服务器已响应,如何继续检查客户端。 我应该在什么时间间隔将请求发送到服务器。 我完全糊涂了。 我是Web技术的初学者。 我尝试使用Google搜索,但所有示例都基于客户端是java脚本或JSP。 任何人都可以给出一个正确的教程链接,客户端是一个java HTTp应用程序或提供一个例子(即实现长轮询)。

长轮询android技术

我有一些简单的问题。 我可以只使用AsyncTask对java进行长轮询吗? class makepolling extends AsyncTask { String TAG = “AndroidPolling”; int CONNECTION_TIMEOUT = 900000; int mHeartbeat = 10000; int TIMEOUT_TOLERANCE = 5000; String mPushURL = “https://my_serv_adress/service”; @Override protected String doInBackground(String… arg0) { String result = null; DefaultHttpClient def = new DefaultHttpClient(); HttpParams httpParams = def.getParams(); HttpConnectionParams.setConnectionTimeout(httpParams, CONNECTION_TIMEOUT); ConnManagerParams.setTimeout(httpParams, CONNECTION_TIMEOUT); HttpPost httpPost = new HttpPost(mPushURL); […]

long polling netty nio framework java

如何使用netty框架进行长轮询? 比方说,我获取http://localhost/waitforx 但waitforx是异步的,因为它必须等待事件? 比方说,它从阻塞队列中获取内容(只能在队列中的数据时获取)。 从队列中获取项目时,我想将数据发送回客户端。 希望有人可以给我一些提示如何做到这一点。 非常感谢

Amazon SQS长轮询不返回所有邮件

我需要在1次读取中读取Amazon SQS队列中的所有消息,然后根据创建的时间戳对其进行排序并对其执行业务逻辑。 为了确保检查所有SQS主机的消息,我启用了长轮询。 我这样做的方法是将队列的默认等待时间设置为10秒。 (任何大于0的值都将启用长轮询)。 但是,当我尝试读取队列时,它仍然没有给我所有的消息,我不得不做多次读取以获取所有消息。 我甚至通过每个接收请求的代码启用长轮询,仍然无法正常工作。 以下是我正在使用的代码。 AmazonSQSClient sqsClient = new AmazonSQSClient(new ClasspathPropertiesFileCredentialsProvider()); sqsClient.setEndpoint(“sqs.us-west-1.amazonaws.com”); String queueUrl = “https://sqs.us-west-1.amazonaws.com/12345/queueName”; ReceiveMessageRequest receiveRequest = new ReceiveMessageRequest().withQueueUrl(queueUrl).withMaxNumberOfMessages(10).withWaitTimeSeconds(20); List messages = sqsClient.receiveMessage(receiveRequest).getMessages(); 我在队列中有3条消息,每次运行代码时都得到不同的结果,有时候我得到所有3条消息,有时只有1条。可见性超时我设置为2秒,只是为了消除消息变得不可见的原因因为没有在阅读中看到它们。 这是短轮询的预期行为。 长轮询应该可以消除多个民意调查。 我在这里做错了吗? 谢谢