使用 java 套接字连接到 URL
Connect to URL using java socket
我有一个 STOMP websocket 服务器在 localhost:8080/price-stream/ws
上接受连接
我正在尝试使用 Gozirra library which uses java.net.socket to connect, but the new Socket() method only accepts host and port parameters. Connection code here 进行连接。有没有办法在套接字参数中定义完整的资源位置,包括 price-stream/ws 位置?
Client c;
try {
c = new Client("localhost", 8080, "guest", "guest");
c.subscribe("topic/pricechannel1", new Listener() {
@Override
public void message(Map headers, String body) {
System.out.println(body);
}
});
c.unsubscribe("topic/pricechannel1"); // Unsubscribe all listeners
c.disconnect();
} catch (LoginException | IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
否则,我可以在服务器端转发 Spring websocket 连接请求吗?换句话说,我的服务器是 tomcat 上的 Spring webapp 运行。有没有一种方法可以将请求转发到我的服务器的根目录,即 localhost:8080 在这种情况下,转发到 tomcat 中的指定资源位置。我不太精通 linux 服务器配置,但我认为可以通过一些调整来实现。谢谢
我最终使用 Spring 4.2 StompClient 连接到我的主机这里是代码:
WebSocketClient transport = new StandardWebSocketClient();
WebSocketStompClient stompClient = new WebSocketStompClient(transport);
MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
stompClient.setMessageConverter(converter);
StompSessionHandler handler = new WSClient(); //custom implementation
String url = "ws://{URL}/ws/websocket";
stompClient.connect(url, handler);
然后配置我的 WSClient class 以在建立连接后订阅频道。
session.subscribe("{channel name}", new StompFrameHandler() {
我有一个 STOMP websocket 服务器在 localhost:8080/price-stream/ws
上接受连接我正在尝试使用 Gozirra library which uses java.net.socket to connect, but the new Socket() method only accepts host and port parameters. Connection code here 进行连接。有没有办法在套接字参数中定义完整的资源位置,包括 price-stream/ws 位置?
Client c;
try {
c = new Client("localhost", 8080, "guest", "guest");
c.subscribe("topic/pricechannel1", new Listener() {
@Override
public void message(Map headers, String body) {
System.out.println(body);
}
});
c.unsubscribe("topic/pricechannel1"); // Unsubscribe all listeners
c.disconnect();
} catch (LoginException | IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
否则,我可以在服务器端转发 Spring websocket 连接请求吗?换句话说,我的服务器是 tomcat 上的 Spring webapp 运行。有没有一种方法可以将请求转发到我的服务器的根目录,即 localhost:8080 在这种情况下,转发到 tomcat 中的指定资源位置。我不太精通 linux 服务器配置,但我认为可以通过一些调整来实现。谢谢
我最终使用 Spring 4.2 StompClient 连接到我的主机这里是代码:
WebSocketClient transport = new StandardWebSocketClient();
WebSocketStompClient stompClient = new WebSocketStompClient(transport);
MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
stompClient.setMessageConverter(converter);
StompSessionHandler handler = new WSClient(); //custom implementation
String url = "ws://{URL}/ws/websocket";
stompClient.connect(url, handler);
然后配置我的 WSClient class 以在建立连接后订阅频道。
session.subscribe("{channel name}", new StompFrameHandler() {