轻拔琴弦|java-websocket示例项目,可以直接使用( 四 )
< longelinebuffer.capacity()) {//从缓冲区读取数据longelinebuffer.limit(position);//发送数据websocket.sendFragmentedFrame(Opcode.TEXT, longelinebuffer,false);// when sending binary data one should use Opcode.BINARY//判断剩余元素的数量 , 如果为0 , 则 , 退出程序assert (longelinebuffer.remaining() == 0);// after calling sendFragmentedFrame one may reuse the buffer given to the method immediately} else {//获取总的容量longelinebuffer.limit(longelinebuffer.capacity());websocket.sendFragmentedFrame(Opcode.TEXT, longelinebuffer, true);// sending the last framebreak;}}System.out.println("You can not type in the next long message or press Ctr-C to exit.");}System.out.println("FragmentedFramesExample terminated");}} 发送和接收消息压缩package com.test.test2;/** * This class only serves the purpose of showing how to enable PerMessageDeflateExtension for both * server and client sockets.Extensions are required to be registered in * * @see Draft objects and both * @see WebSocketClient and * @see WebSocketServer accept a * @see Draft object in their constructors. This example shows how to achieve it for both server and * client sockets. Once the connection has been established, PerMessageDeflateExtension will be * enabled and any messages (binary or text) will be compressed/decompressed automatically. * Since no additional code is required when sending or receiving messages, this example skips those * parts. */public class PerMessageDeflateExample {private static final Draft perMessageDeflateDraft = new Draft_6455(new PerMessageDeflateExtension());private static final int PORT = 8887;private static class DeflateClient extends WebSocketClient {public DeflateClient() throws URISyntaxException {super(new URI("ws://localhost:" + PORT), perMessageDeflateDraft);}@Overridepublic void onOpen(ServerHandshake handshakedata) {}@Overridepublic void onMessage(String message) {}@Overridepublic void onClose(int code, String reason, boolean remote) {}@Overridepublic void onError(Exception ex) {}}private static class DeflateServer extends WebSocketServer {public DeflateServer() {super(new InetSocketAddress(PORT), Collections.singletonList(perMessageDeflateDraft));}@Overridepublic void onOpen(WebSocket conn, ClientHandshake handshake) {}@Overridepublic void onClose(WebSocket conn, int code, String reason, boolean remote) {}@Overridepublic void onMessage(WebSocket conn, String message) {}@Overridepublic void onError(WebSocket conn, Exception ex) {}@Overridepublic void onStart() {}}}重新连接阻塞和非阻塞package com.test.test2;/** * Simple example to reconnect blocking and non-blocking. */public class ReconnectClientExample {public static void main(String[] args) throws URISyntaxException, InterruptedException {ExampleClient c = new ExampleClient(new URI("ws://localhost:8887"));//Connect to a server normallyc.connectBlocking();c.send("hi");Thread.sleep(10);c.closeBlocking();//Disconnect manually and reconnect blockingc.reconnectBlocking();c.send("it's");Thread.sleep(10000);c.closeBlocking();//Disconnect manually and reconnectc.reconnect();Thread.sleep(100);c.send("me");Thread.sleep(100);c.closeBlocking();}}
推荐阅读
- 轻拔琴弦|体现着一个人的修养涵养,使用手机
- 轻拔琴弦最惨的不是华为,中兴被美国罚款23亿美元,如今逆袭崛起!
- 上海市徐汇区人民政府门户网站|拨动竖琴的琴弦,画下夕阳下的“馄饨皮”,上海交响乐团的文化集市如此有趣
- 后海大鲨鱼|《乐夏2》被黑最惨的乐队,重回舞台后躁到扔话筒、拆琴弦!
- 轻拔琴弦从差点倒闭到年入10亿,创米李建新:没到最后,我绝不投降
- 轻拔琴弦|构陷华为的汇丰卷入洗钱案件,这回还能洗白?,再次陷入大丑闻
- 轻拔琴弦|Games宣布《堡垒之夜:拯救世界》将不再能在macOS上玩了,Epic
- 轻拔琴弦Epic Games宣布《堡垒之夜:拯救世界》将不再能在macOS上玩了
- 轻拔琴弦 却成为了引领者,“疯子”诺基亚当年发布像素4100万的神机
- 轻拔琴弦我才发现,微信里面有一个功能,能将手机照片自动拼成长图
