- Link 1
- Link 2
Что я сделал: < /p>
Создал http -запрос < /p>
`URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
// optional default is GET
con.setRequestMethod("GET");
//add request header
con.setRequestProperty("Cache-Control", "no-cache");
con.setRequestProperty("Host", "www.example.com");
con.setRequestProperty("Upgrade", "websocket");
con.setRequestProperty("Connection", "upgrade");
con.setRequestProperty("Origin", "https://example.com");
con.setRequestProperty("Sec-WebSocket-Extensions", "x-webkit-deflate-frame");
con.setRequestProperty("Sec-WebSocket-Key", "QkWkChtTGpaZL5PkOMaRtg==");
con.setRequestProperty("Sec-WebSocket-Version", "13");
con.setRequestProperty("User-Agent", "Mozilla/..;
< /code>
`< /p> < /li>
< /ul>
И я прочитал ответ с кодом 200 (не 101, который должен быть). < /p>
Вопросы: < /p>
wysecke? (В примере взято из Firebug, на самом деле все заголовки) < /li>
< /ol>
1.1. Что можно сделать больше? < /P>
1.2. Та же ссылка от HTTP должна использоваться для доступа к WebSocket? Только с WSS вместо HTTPS?WebSocketContainer container = ContainerProvider.getWebSocketContainer();
Session session = container.connectToServer(ClientEndpoint.class, buildCEC(), new URI("wss://async.example.com/socket.io/1/?t=" + System.currentTimeMillis()));< /code> < /p> < /li>
я попробовал в buildcec (), чтобы вставить заголовки к подключению к серверу.
clientendpointconfig config = clientendpointconfig.builder.create (). build ();
configurator confignfig.getconfigurator ()
< /> < />
configurator = confignfigurator (); />`Map headers = new HashMap();
headers.put("Connection", Arrays.asList("keep-alive", "Upgrade"));
headers.put("Sec-Websocket-Extensions", Arrays.asList("x-webkit-deflate-frame"));
headers.put("Sec-Websocket-key", Arrays.asList("cx36sHrtuW9HZAaB6kKa/Q=="));
headers.put("Sec-Websocket-Version", Arrays.asList("13"));
headers.put("Upgrade", Arrays.asList("websocket"));
headers.put("User-Agent", Arrays.asList("Mozill..."));
conf.beforeRequest(headers);
return config;`
< /code> < /li>
< /ul>
Вопросы < /p>
Мое суждение хорошим в случае, если я выпускаю это и получаю 101 статус от запроса на обновление http? Я не знаю JavaScript, я хочу сделать этого клиента в Pure Java с JSR-356. Я сделал небольшие примеры с WebSockets, но я не могу найти хорошего клиента, с заголовками и более сложным рукопожатием. < /Li>
Можно ли подключиться к неизвестному серверу, не зная всех деталей? Для работы с подключением к WebSocket от JSR356.
Подробнее здесь: https://stackoverflow.com/questions/206 ... ed-in-java