小编snI*_*nIp的帖子

在ssl上的Jetty WebSocketClient

我有一个在嵌入式Jetty(8.1.8.v20121106)中运行的WebSocket服务器,并希望通过jetty WebSocketClient从另一个Java应用程序连接到它.这是我使用的测试方法:

@Test
public void testWebSockets() throws Exception {
    logger.debug("START testWebSockets()");
    WebSocketClientFactory factory = new WebSocketClientFactory();
    factory.setBufferSize(4096);
    factory.start();        

    WebSocketClient client = factory.newWebSocketClient();
    client.setMaxIdleTime(30000);
    client.setMaxTextMessageSize(1024);
    client.setProtocol("MyProtocol");                                       

    WebSocket webSocket = new ClientWebSocket();
    String wsUrl = "ws://localhost:8080/websocket";
    String wssUrl = "wss://localhost:8443/websocket";
    Future future = client.open(new URI(wssUrl), webSocket);
    WebSocket.Connection connection = (Connection) future.get(10, TimeUnit.SECONDS);
    assertNotNull("No connection!", connection);
    connection.sendMessage("TestMessage");
    connection.close();
    logger.debug("END testWebSockets()");
}
Run Code Online (Sandbox Code Playgroud)

使用wsUrl不是问题,但我无法使用wss.我不认为服务器是问题,因为我从javascript连接wss没有问题.我在这次测试中做错了什么?

服务器和客户端都在ssl设置上记录"坏记录MAC".这是服务器日志的最后一部分:

    2013-01-15 10:26:06,398 qtp9902580-25 DEBUG org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] unwrap OK NEED_TASK consumed=107 produced=0
2013-01-15 10:26:06,399 qtp9902580-25 DEBUG org.eclipse.jetty.io.nio.ssl - [Session-1, …
Run Code Online (Sandbox Code Playgroud)

java ssl jetty websocket

11
推荐指数
1
解决办法
5550
查看次数

标签 统计

java ×1

jetty ×1

ssl ×1

websocket ×1