本文整理汇总了Java中okhttp3.ws.WebSocketListener类的典型用法代码示例。如果您正苦于以下问题:Java WebSocketListener类的具体用法?Java WebSocketListener怎么用?Java WebSocketListener使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
WebSocketListener类属于okhttp3.ws包,在下文中一共展示了WebSocketListener类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: RealWebSocket
import okhttp3.ws.WebSocketListener; //导入依赖的package包/类
public RealWebSocket(boolean isClient, BufferedSource source, BufferedSink sink, Random random,
final Executor replyExecutor, final WebSocketListener listener, final String url) {
this.listener = listener;
writer = new WebSocketWriter(isClient, sink, random);
reader = new WebSocketReader(isClient, source, new FrameCallback() {
@Override public void onMessage(ResponseBody message) throws IOException {
listener.onMessage(message);
}
@Override public void onPing(final Buffer buffer) {
replyExecutor.execute(new NamedRunnable("OkHttp %s WebSocket Pong Reply", url) {
@Override protected void execute() {
try {
writer.writePong(buffer);
} catch (IOException ignored) {
}
}
});
}
@Override public void onPong(Buffer buffer) {
listener.onPong(buffer);
}
@Override public void onClose(final int code, final String reason) {
readerSentClose = true;
replyExecutor.execute(new NamedRunnable("OkHttp %s WebSocket Close Reply", url) {
@Override protected void execute() {
peerClose(code, reason);
}
});
}
});
}
开发者ID:lizhangqu,项目名称:PriorityOkHttp,代码行数:36,代码来源:RealWebSocket.java
示例2: withWebSocketUpgrade
import okhttp3.ws.WebSocketListener; //导入依赖的package包/类
/**
* Attempts to perform a web socket upgrade on the connection. This will overwrite any previously
* set status or body.
*/
public MockResponse withWebSocketUpgrade(WebSocketListener listener) {
setStatus("HTTP/1.1 101 Switching Protocols");
setHeader("Connection", "Upgrade");
setHeader("Upgrade", "websocket");
body = null;
webSocketListener = listener;
return this;
}
开发者ID:lizhangqu,项目名称:PriorityOkHttp,代码行数:13,代码来源:MockResponse.java
示例3: handleWebSocketUpgrade
import okhttp3.ws.WebSocketListener; //导入依赖的package包/类
private void handleWebSocketUpgrade(Socket socket, BufferedSource source, BufferedSink sink,
RecordedRequest request, MockResponse response) throws IOException {
String key = request.getHeader("Sec-WebSocket-Key");
String acceptKey = Util.shaBase64(key + WebSocketProtocol.ACCEPT_MAGIC);
response.setHeader("Sec-WebSocket-Accept", acceptKey);
writeHttpResponse(socket, sink, response);
final WebSocketListener listener = response.getWebSocketListener();
final CountDownLatch connectionClose = new CountDownLatch(1);
ThreadPoolExecutor replyExecutor =
new ThreadPoolExecutor(1, 1, 1, SECONDS, new LinkedBlockingDeque<Runnable>(),
Util.threadFactory(String.format("MockWebServer %s WebSocket", request.getPath()),
true));
replyExecutor.allowCoreThreadTimeOut(true);
final RealWebSocket webSocket =
new RealWebSocket(false /* is server */, source, sink, new SecureRandom(), replyExecutor,
listener, request.getPath()) {
@Override protected void close() throws IOException {
connectionClose.countDown();
}
};
// Adapt the request and response into our Request and Response domain model.
String scheme = request.getTlsVersion() != null ? "https" : "http";
String authority = request.getHeader("Host"); // Has host and port.
final Request fancyRequest = new Request.Builder()
.url(scheme + "://" + authority + "/")
.headers(request.getHeaders())
.build();
final Response fancyResponse = new Response.Builder()
.code(Integer.parseInt(response.getStatus().split(" ")[1]))
.message(response.getStatus().split(" ", 3)[2])
.headers(response.getHeaders())
.request(fancyRequest)
.protocol(Protocol.HTTP_1_1)
.build();
listener.onOpen(webSocket, fancyResponse);
while (webSocket.readMessage()) {
}
// Even if messages are no longer being read we need to wait for the connection close signal.
try {
connectionClose.await();
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
replyExecutor.shutdown();
Util.closeQuietly(sink);
Util.closeQuietly(source);
}
开发者ID:lizhangqu,项目名称:PriorityOkHttp,代码行数:56,代码来源:MockWebServer.java
示例4: getWebSocketListener
import okhttp3.ws.WebSocketListener; //导入依赖的package包/类
public WebSocketListener getWebSocketListener() {
return webSocketListener;
}
开发者ID:lizhangqu,项目名称:PriorityOkHttp,代码行数:4,代码来源:MockResponse.java
示例5: handleWebSocketUpgrade
import okhttp3.ws.WebSocketListener; //导入依赖的package包/类
private void handleWebSocketUpgrade(Socket socket, BufferedSource source, BufferedSink sink,
RecordedRequest request, MockResponse response) throws IOException {
String key = request.getHeader("Sec-WebSocket-Key");
String acceptKey = Util.shaBase64(key + WebSocketProtocol.ACCEPT_MAGIC);
response.setHeader("Sec-WebSocket-Accept", acceptKey);
writeHttpResponse(socket, sink, response);
final WebSocketListener listener = response.getWebSocketListener();
final CountDownLatch connectionClose = new CountDownLatch(1);
ThreadPoolExecutor replyExecutor =
new ThreadPoolExecutor(1, 1, 1, SECONDS, new LinkedBlockingDeque<Runnable>(),
Util.threadFactory(Util.format("MockWebServer %s WebSocket", request.getPath()),
true));
replyExecutor.allowCoreThreadTimeOut(true);
final RealWebSocket webSocket =
new RealWebSocket(false /* is server */, source, sink, new SecureRandom(), replyExecutor,
listener, request.getPath()) {
@Override protected void close() throws IOException {
connectionClose.countDown();
}
};
// Adapt the request and response into our Request and Response domain model.
String scheme = request.getTlsVersion() != null ? "https" : "http";
String authority = request.getHeader("Host"); // Has host and port.
final Request fancyRequest = new Request.Builder()
.url(scheme + "://" + authority + "/")
.headers(request.getHeaders())
.build();
final Response fancyResponse = new Response.Builder()
.code(Integer.parseInt(response.getStatus().split(" ")[1]))
.message(response.getStatus().split(" ", 3)[2])
.headers(response.getHeaders())
.request(fancyRequest)
.protocol(Protocol.HTTP_1_1)
.build();
listener.onOpen(webSocket, fancyResponse);
while (webSocket.readMessage()) {
}
// Even if messages are no longer being read we need to wait for the connection close signal.
try {
connectionClose.await();
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
replyExecutor.shutdown();
Util.closeQuietly(sink);
Util.closeQuietly(source);
}
开发者ID:RunningTheSnail,项目名称:Okhttp,代码行数:56,代码来源:MockWebServer.java
注:本文中的okhttp3.ws.WebSocketListener类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论