我使用Tyrus進行連接。這裏是代碼:使用Java EE中的特定IP發送WebSocket請求
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。這可能嗎? –
正如我所說 - 只有當從該地址到服務器的路由。 – Jan
我想 - 還有另一種解決方案 - http://stackoverflow.com/questions/30875927/tyrus-websockets-java-how-to-set-client-local-ip-address - 但可能Tyrus不支持設置本地IP地址,我將不得不切換到另一個庫... –