使用Java EE中的特定IP发送WebSocket请求



我用Tyrus建立了连接。这是代码:

public void connect(String IP) {
    WebSocketContainer webSocketContainer = ContainerProvider.getWebSocketContainer();
    ClientEndpointConfig.Configurator configurator = new ClientEndpointConfig.Configurator() {
        public void beforeRequest(Map<String, List<String>> headers) {
            List<String> originValue = new ArrayList<>();
            originValue.add("http://example.com");
            headers.put("Origin", originValue);
        }
    };
    ClientEndpointConfig clientConfig = ClientEndpointConfig.Builder.create()
            .configurator(configurator)
            .build();
    try {
        webSocketContainer.connectToServer(this, clientConfig, new URI(IP));
    } catch (Exception e) {
        ...
    }
}

我的电脑有几个IP地址。我想从选定的IP发送WebSocket请求-我想将WebSocket绑定到特定的本地IP。有可能做到吗?我应该使用另一个图书馆吗?

编辑:我发现netty-它允许手动设置本地IP地址。

本地地址将由操作系统根据本地接口的路由表选择。

如果你有多个ip都可以到达目标主机,我建议你通过要绑定的本地ip配置一个到该主机的(静态)路由。

我使用了代理,而不是为请求选择IP。

相关内容

  • 没有找到相关文章

最新更新