public void sendStandardRequest() throws IOException { StringBuilder req = new StringBuilder(); req.append("GET /chat HTTP/1.1\r\n"); req.append("Host: ").append(destHttpURI.getHost()); if (destHttpURI.getPort() > 0) { req.append(':').append(destHttpURI.getPort()); } req.append("\r\n"); req.append("Upgrade: websocket\r\n"); req.append("Connection: Upgrade\r\n"); req.append("Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==\r\n"); req.append("Sec-WebSocket-Origin: ").append(destWebsocketURI.toASCIIString()).append("\r\n"); if (StringUtil.isNotBlank(protocols)) { req.append("Sec-WebSocket-Protocol: ").append(protocols).append("\r\n"); } for (String xtension : extensions) { req.append("Sec-WebSocket-Extensions: ").append(xtension).append("\r\n"); } req.append("Sec-WebSocket-Version: ").append(version).append("\r\n"); req.append("\r\n"); writeRaw(req.toString()); }
public void writeRawSlowly(ByteBuffer buf, int segmentSize) throws IOException { while (buf.remaining() > 0) { writeRaw(buf, segmentSize); flush(); } }