Tag: websocket

使用带有Spring Boot的Java API for WebSocket(JSR-356)

我是Spring的新手(并在stackoverflow上提问)。 我想通过Spring Boot启动嵌入式(Tomcat)服务器并向其注册JSR-356 WebSocket端点。 这是主要方法: @ComponentScan @EnableAutoConfiguration public class Server { public static void main(String[] args) { SpringApplication.run(Server.class, args); } } 这是配置的外观: @Configuration public class EndpointConfig { @Bean public EchoEndpoint echoEndpoint() { return new EchoEndpoint(); } @Bean public ServerEndpointExporter endpointExporter() { return new ServerEndpointExporter(); } } EchoEndpoint实现很简单: @ServerEndpoint(value = “/echo”, configurator = SpringConfigurator.class) public class […]

tomcat 7.0.50 java websocket实现给出了404错误

我正在尝试使用Java Websocket API(1.0) – JSR 356中指定的带注释端点在tomcat 7.0.50上实现websocket。以下是我编写代码的简要步骤1)使用@ServerEndpoint注释编写websocket端点2)实现@onOpen和@onMessage方法3)在谷歌浏览器上使用javascript打开websocket。 请按顺序查找与上述步骤对应的代码 1)步骤1和2 – 编写websocket服务器端点: package com.jkweb.websocket; import java.io.IOException; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.websocket.EndpointConfig; import javax.websocket.OnMessage; import javax.websocket.OnOpen; import javax.websocket.Session; import javax.websocket.server.PathParam; import javax.websocket.server.ServerEndpoint; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @ServerEndpoint(value=”/websocket/fileuploadtracker”) @OnOpen public void open(Session session,EndpointConfig config) { …… } @OnMessage public void onMessage(Session session, String msg) { […]

如何使用Spring 4在我的webSocket服务器中捕获订阅事件

我在spring https://spring.io/guides/gs/messaging-stomp-websocket/之后用spring 4,STOMP和sock.js做了简单的web socket通信。 现在我想将其升级为简单聊天。 我的问题是,当用户订阅新的聊天室时,他应该过去的消息。 我不知道如何捕捉他订阅时向他发送消息列表的那一刻。 我尝试使用@MessageMapping注释,但没有取得任何成功: @Controller public class WebSocketController { @Autowired private SimpMessagingTemplate messagingTemplate; @MessageMapping(“/chat/{chatId}”) public void chat(ChatMessage message, @DestinationVariable String chatId) { messagingTemplate.convertAndSend(“/chat/” + chatId, new ChatMessage(“message: ” + message.getText())); } @SubscribeMapping(“/chat”) public void chatInit() { System.out.println(“worked”); int chatId = 1; //for example messagingTemplate.convertAndSend(“/chat/” + chatId, new ChatMessage(“connected”)); } } 然后我创建了: […]

Tyrus WebSockets(Java) – 如何设置客户端本地IP地址

有没有办法在使用WebSockets(Tyrus)时指定本地IP地址和端口? 我正在寻找与Socket的完整4参数构造函数相同的function 编辑 : 我发现低级Grizzly TCPNIOTransport确实有一个带本地地址的connect()方法 ,但我不知道如何让Tyrus客户端使用它。

Websocket在playframework 2中发送所有客户端的数据

我需要帮助来理解playframework中的WS 我的控制器中有下一个代码 public static WebSocket sockHandler() { return new WebSocket() { // Se llama para establecer el WS public void onReady(WebSocket.In in, WebSocket.Out out) { //por cada evento recivido por el socket // Se regitra una llamada para el procesamiento de los eventos in.onMessage(new Callback() { public void invoke(String event) { //Logger.info(event) System.out.println(“este es el […]

如何从Java websocket服务器发送图像以在HTML5canvas中使用?

我有一个用Java实现的WebSocket服务器。 当客户端连接时,我想通过此连接发送图像,以便客户端在canvas元素中使用。 我提出了以下服务器代码: public void onOpen(Connection connection) { try { BufferedImage image = ImageIO.read(new File(“image.jpg”)); ByteArrayOutputStream baos = new ByteArrayOutputStream(); ImageIO.write(image, “jpg”, baos); byte[] byteArray = baos.toByteArray(); connection.sendMessage(byteArray, 0, byteArray.length); } catch (Exception e ){ System.out.println(“Error: “+e.getMessage()); } } 客户端Javascript看起来像这样: onmessage : function(m) { if (m.data) { if (m.data instanceof Blob) { var blob = […]

Java websocket客户端无法使用GDAX沙箱环境

我使用Spring WebSocket WebSocketClient连接GDAX服务器。 它在Live环境中运行良好,但相同的代码不适用于沙箱环境。 这是我连接到服务器的代码: public class Test { public static void main(String[] args) throws InterruptedException { String socketURL = “wss://ws-feed.gdax.com”; //Live URL //String socketURL = “wss://ws-feed-public.sandbox.gdax.com”; //sanbox URL, code will not work if you use sandvox URL WebSocketClient client = new StandardWebSocketClient(); WebSocketConnectionManager connectionManager = new WebSocketConnectionManager(client, new MySocketHandler(), socketURL); connectionManager.start(); Thread.sleep(1000000); } } […]

Java中的SocketIO Client,如何实现与netty-socketio Server一起工作?

对于大学的实践课程,我必须用Java编写一个带有客户端/服务器基础结构的小游戏。 我需要使用Websockets进行通信,其他学生的解决方案必须与我的兼容,为服务器端选择了Netty SocketIO Server( https://github.com/mrniko/netty-socketio/tree/master/src )。 我已经知道如何设置服务器: Configuration config = new Configuration(); config.setPort(1234); config.setHostname(“localhost”); server = new SocketIOServer(config); server.addConnectListener( (client) -> { System.out.println(“Client has Connected!”); }); server.addEventListener(“MESSAGE”, String.class, (client, message, ackRequest) -> { System.out.println(“Client said: ” + message); }); server.start(); 现在请你解释一下,客户端代码应该是什么样的,以及我应该使用SocketIOClient(Netty只带来接口)的实现? 如果你能告诉我产生输出的代码会很棒 客户已连接! 客户说:你想要的任何消息:) 我真的被困在这里,已经在玩这样的实现https://github.com/socketio/socket.io-client-java但仍然无法弄清楚如何构建客户端并连接到我的服务器。 谢谢你的帮助。 费利克斯

GWT支持HTML5

GWT是否支持HTML5? 我的意思是特别是Canvas和WebSockets? 问候

Heroku- Web进程在启动后90秒内无法绑定到$ PORT。 TooTallNate Websockets

我正在使用一个tootallnate websockets服务器来监听来自网站的连接。 如何在heroku上建立与服务器的连接? 当我的网站尝试连接时 wss://Heroku-Name-39329.herokuapp.com/ 要么 wss://Heroku-Name-39329.herokuapp.com:5000/ 我的heroku记录输出。 at=error code=H10 desc=”App crashed” method=GET path=”/” host=wss://Heroku-Name-39329.herokuapp.com request_id=4afca002-2078-439c-85dc-ad6ef7db50d2 fwd=”207.244.77.23″ dyno= connect= service= status=503 bytes= 然后(Still Heroku Logs) Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 90 seconds of launch Stopping process with SIGKILL Process exited with status 137 State changed from starting […]