gpt4 book ai didi

Java EE Websocket : How to send keep sending data without receiving message?

转载 作者:太空宇宙 更新时间:2023-11-04 14:43:30 27 4
gpt4 key购买 nike

我想要什么?
我正在尝试编写一个应用程序,其中客户端发送查询并根据查询服务器获取 Twitter 流并将其推送到客户端。

我有什么?
我有一个简单的结构,客户端可以连接到服务器并且服务器响应

TweetStreamServer

package com.self.tweetstream;

import javax.websocket.OnMessage;
import javax.websocket.server.ServerEndpoint;

@ServerEndpoint("/tweets")
public class TweetStreamServer {
@OnMessage
public String tweets(final String message) {
return message;
}
}

TweetStreamClient

@ClientEndpoint
public class TweetStreamClient {
public static CountDownLatch latch;
public static String response;

@OnOpen
public void onOpen(Session session) {
try{
session.getBasicRemote().sendText("Hello World!");
} catch (IOException e) {
e.printStackTrace();
}
}

@OnMessage
public void printTweets(final String tweet) {
System.out.println("Tweet:" + tweet);
response = tweet;
latch.countDown();
}
}

TweetStreamTest

@Test
public void test() throws URISyntaxException, IOException, DeploymentException, InterruptedException {
System.out.println("URI: " + getEndpointUrl());
TweetStreamClient.latch = new CountDownLatch(1);
Session session = connectToServer(TweetStreamClient.class, "tweets");
assertNotNull(session);
assertTrue(TweetStreamClient.latch.await(10, TimeUnit.SECONDS));
assertEquals("Hello World!", TweetStreamClient.response);
}

问题
我很困惑现在如何发送从 Twitter 收到的连续推文,因为根据 API,我的服务器方法是

       @OnMessage
public String tweets(final String message) {
return message;
}

这意味着它需要一条消息才能返回任何内容。

如何将来自 Twitter 的传入数据发送给客户端?

最佳答案

这对我有用

@OnMessage
public void tweets(final String message, Session client) throws IOException, InterruptedException {
int i = 0;
for (Session peer : client.getOpenSessions()) {
while (i < 10) {
System.out.println("sending ...");
peer.getBasicRemote().sendText("Hello");
Thread.sleep(2000);
i++;
}
}
}

感谢Arun Gupta感谢他在推文中提供的帮助:)

关于Java EE Websocket : How to send keep sending data without receiving message?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24703177/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com