如果您想了解javax.websocket.RemoteEndpoint的实例源码和javawebsocketclient的知识,那么本篇文章将是您的不二之选。我们将深入剖析javax.websock
如果您想了解javax.websocket.RemoteEndpoint的实例源码和java websocketclient的知识,那么本篇文章将是您的不二之选。我们将深入剖析javax.websocket.RemoteEndpoint的实例源码的各个方面,并为您解答java websocketclient的疑在这篇文章中,我们将为您介绍javax.websocket.RemoteEndpoint的实例源码的相关知识,同时也会详细的解释java websocketclient的运用方法,并给出实际的案例分析,希望能帮助到您!
本文目录一览:- javax.websocket.RemoteEndpoint的实例源码(java websocketclient)
- com.esotericsoftware.kryonet.EndPoint的实例源码
- io.netty.handler.codec.http.websocketx.PongWebSocketFrame的实例源码
- io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker的实例源码
- Java WebSockets: The remote endpoint was in state [TEXT_FULL_WRITING]
javax.websocket.RemoteEndpoint的实例源码(java websocketclient)
@Onopen public void onopen(Session session,@PathParam("uuid") String uuid) { UUID key = UUID.fromString(uuid); peers.put(key,session); JsonArrayBuilder builder = Json.createArrayBuilder(); for (StatusEventType statusEventType : StatusEventType.values()) { JsonObjectBuilder object = Json.createObjectBuilder(); builder.add(object.add(statusEventType.name(),statusEventType.getMessage()).build()); } RemoteEndpoint.Async asyncRemote = session.getAsyncRemote(); asyncRemote.sendText(builder.build().toString()); // Send pending messages List<String> messages = messageBuffer.remove(key); if (messages != null) { messages.forEach(asyncRemote::sendText); } }
synchronized LSPProcess createProcess(String wsKey,String lang,RemoteEndpoint.Basic remoteEndpoint,String ownerSessionId) throws LSPException { String procKey = processKey(wsKey,lang); String rpcType = langContexts.get(lang).getRpcType(); String wsKeyElem[] = wsKey.split(WS_KEY_DELIMITER,3); disconnect(lang,ownerSessionId); LSPProcess lspProcess = new LSPProcess(wsKeyElem,lang,langContexts.get(lang).getProcessBuilder(wsKeyElem),remoteEndpoint,ownerSessionId); switch(rpcType) { case ENV_IPC_SOCKET: socketEnv(lspProcess,LangServerCtx.LangPrefix(lang)); break; case ENV_IPC_PIPES: pipeEnv(lspProcess,LangServerCtx.LangPrefix(lang)); break; case ENV_IPC_CLIENT: clientSocketEnv(lspProcess,LangServerCtx.LangPrefix(lang)); break; default: streamEnv(lspProcess); } lspProcesses.put(procKey,lspProcess); return lspProcess; }
protected final void processResult(Object result) { if (result == null) { return; } RemoteEndpoint.Basic remoteEndpoint = session.getBasicRemote(); try { if (result instanceof String) { remoteEndpoint.sendText((String) result); } else if (result instanceof ByteBuffer) { remoteEndpoint.sendBinary((ByteBuffer) result); } else if (result instanceof byte[]) { remoteEndpoint.sendBinary(ByteBuffer.wrap((byte[]) result)); } else { remoteEndpoint.sendobject(result); } } catch (IOException ioe) { throw new IllegalStateException(ioe); } catch (EncodeException ee) { throw new IllegalStateException(ee); } }
protected final void processResult(Object result) { if (result == null) { return; } RemoteEndpoint.Basic remoteEndpoint = session.getBasicRemote(); try { if (result instanceof String) { remoteEndpoint.sendText((String) result); } else if (result instanceof ByteBuffer) { remoteEndpoint.sendBinary((ByteBuffer) result); } else if (result instanceof byte[]) { remoteEndpoint.sendBinary(ByteBuffer.wrap((byte[]) result)); } else { remoteEndpoint.sendobject(result); } } catch (IOException ioe) { throw new IllegalStateException(ioe); } catch (EncodeException ee) { throw new IllegalStateException(ee); } }
protected final void processResult(Object result) { if (result == null) { return; } RemoteEndpoint.Basic remoteEndpoint = session.getBasicRemote(); try { if (result instanceof String) { remoteEndpoint.sendText((String) result); } else if (result instanceof ByteBuffer) { remoteEndpoint.sendBinary((ByteBuffer) result); } else if (result instanceof byte[]) { remoteEndpoint.sendBinary(ByteBuffer.wrap((byte[]) result)); } else { remoteEndpoint.sendobject(result); } } catch (IOException ioe) { throw new IllegalStateException(ioe); } catch (EncodeException ee) { throw new IllegalStateException(ee); } }
@Onopen public void onopen(Session session,session); JsonArrayBuilder builder = Json.createArrayBuilder(); for (StatusMessage statusMessage : StatusMessage.values()) { JsonObjectBuilder object = Json.createObjectBuilder(); builder.add(object.add(statusMessage.name(),statusMessage.getMessage()).build()); } RemoteEndpoint.Async asyncRemote = session.getAsyncRemote(); asyncRemote.sendText(builder.build().toString()); // Send pending messages List<String> messages = messageBuffer.remove(key); if (messages != null) { messages.forEach(asyncRemote::sendText); } }
public void updateallMap(int nc,boolean send,RemoteEndpoint.Basic... remotes) { for (int x = 0; x < data.length; x++) { for (int y = 0; y < data[0].length; y++) { if (nc != -1) { data[x][y] = nc; } if (send) { String msg = "update:" + x + ":" + y + ":" + data[x][y]; for (RemoteEndpoint.Basic remote : remotes) { try { remote.sendText(msg); } catch (IOException ex) { } } } } } }
@Before public void setuptest() throws Exception { this.origRegistry = MonitorWebsocket.getRegistry(); this.origSendTimeout = MonitorWebsocket.getSendTimeout(); this.origScheduler = MonitorWebsocket.getScheduler(); this.mockRegistry = Mockito.mock(MonitorWebsocketRegistry.class); this.mockScheduler = Mockito.mock(Scheduler.class); this.mockSession = Mockito.mock(Session.class); this.mockReason = Mockito.mock(CloseReason.class); this.mockAsyncRemote = Mockito.mock(RemoteEndpoint.Async.class); this.mockBasic = Mockito.mock(RemoteEndpoint.Basic.class); this.mockSendProcess = Mockito.mock(StepListSchedulerProcess.class); this.mockLogger = Mockito.mock(Logger.class); Mockito.when(this.mockSession.getId()).thenReturn("x-sess-id-x"); Mockito.when(this.mockSession.getAsyncRemote()).thenReturn(this.mockAsyncRemote); Mockito.when(this.mockSession.getBasicRemote()).thenReturn(this.mockBasic); }
/** * Test of sendMessagetoClient method,of class CallServiceManager. */ @Test public void testSendMessagetoClient() { System.out.println("sendMessagetoClient"); Session client = mock(Session.class); MessagetoClient mtc = mock(MessagetoClient.class); RemoteEndpoint.Async async = mock(RemoteEndpoint.Async.class); when(client.getAsyncRemote()).thenReturn(async); when(messagetoClientService.createMessagetoClient(any(MessageFromClient.class),any(Session.class))).thenReturn(mtc).thenReturn(null); boolean result = instance.sendMessagetoClient(new MessageFromClient(),client); assertthat(result).isTrue(); result = instance.sendMessagetoClient(new MessageFromClient(),client); assertthat(result).isFalse(); ArgumentCaptor<MessagetoClient> captureMsg = ArgumentCaptor.forClass(MessagetoClient.class); verify(async).sendobject(captureMsg.capture()); assertthat(captureMsg.getValue()).isEqualTo(mtc); }
/** * Test of sendSubscriptionEvent method,of class TopicManager. */ @Test public void testSendSubscriptionEvent() { System.out.println("sendSubscriptionEvent"); Collection<Session> sessions = new ArrayList<>(); Session session = mock(Session.class); RemoteEndpoint.Async async = mock(RemoteEndpoint.Async.class); sessions.add(session); when(session.isopen()).thenReturn(Boolean.FALSE).thenReturn(Boolean.TRUE); when(session.getAsyncRemote()).thenReturn(async); doReturn(Collections.EMPTY_LIST).doReturn(sessions).when(instance).getSessionsForTopic(TOPIC1); instance.sendSubscriptionEvent(TOPIC1,1); instance.sendSubscriptionEvent(TOPIC1,2); instance.sendSubscriptionEvent(TOPIC1,3); ArgumentCaptor<MessagetoClient> captureMsg = ArgumentCaptor.forClass(MessagetoClient.class); verify(async).sendobject(captureMsg.capture()); MessagetoClient msg = captureMsg.getValue(); assertthat(msg.getType()).isEqualTo(MessageType.MESSAGE); assertthat(msg.getId()).isEqualTo(TOPIC1); assertthat(msg.getResponse()).isEqualTo(3); }
/** * Test of checkAndSendMtcToSession method,of class. * * @throws javax.websocket.SessionException * @throws org.ocelotds.security.NotRecipientException */ @Test public void checkAndSendMtcToSessiontest() throws SessionException,NotRecipientException { System.out.println("checkAndSendMtcToSession"); Session session = mock(Session.class); RemoteEndpoint.Async async = mock(RemoteEndpoint.Async.class); when(session.isopen()).thenReturn(true); when(session.getId()).thenReturn("ID1"); when(session.getAsyncRemote()).thenReturn(async); JsTopicmessageController jtmcmsgControl = mock(JsTopicmessageController.class); MessagetoClient mtc = mock(MessagetoClient.class); when(session.isopen()).thenReturn(Boolean.TRUE); when(userContextFactory.getUserContext(eq("ID1"))).thenReturn(mock(UserContext.class)); donothing().doThrow(NotRecipientException.class).when(instance).checkMessagetopic(any(UserContext.class),anyString(),eq(PAYLOAD),eq(jtmcmsgControl)); int result = instance.checkAndSendMtcToSession(session,jtmcmsgControl,mtc,PAYLOAD); assertthat(result).isEqualTo(1); result = instance.checkAndSendMtcToSession(session,PAYLOAD); assertthat(result).isEqualTo(0); }
@SuppressWarnings("unchecked") public void handle(final ByteBuffer buf,final Session session) throws IOException { WebSocketContext context = new WebSocketContext(this,session,config); final int id = buf.getInt(); currentContext.set(context); handle(buf.slice(),context).then(new Action<ByteBuffer>() { public void call(ByteBuffer value) throws Throwable { try { ByteBuffer buffer = ByteBuffer.allocate(4 + value.remaining()); buffer.putInt(id); buffer.put(value); buffer.flip(); final RemoteEndpoint.Async remote = session.getAsyncRemote(); remote.sendBinary(buffer); } finally { ByteBufferStream.free(value); } } }).whenComplete(new Runnable() { public void run() { currentContext.remove(); ByteBufferStream.free(buf); } }); }
protected final void processResult(Object result) { if (result == null) { return; } RemoteEndpoint.Basic remoteEndpoint = session.getBasicRemote(); try { if (result instanceof String) { remoteEndpoint.sendText((String) result); } else if (result instanceof ByteBuffer) { remoteEndpoint.sendBinary((ByteBuffer) result); } else if (result instanceof byte[]) { remoteEndpoint.sendBinary(ByteBuffer.wrap((byte[]) result)); } else { remoteEndpoint.sendobject(result); } } catch (IOException ioe) { throw new IllegalStateException(ioe); } catch (EncodeException ee) { throw new IllegalStateException(ee); } }
protected final void processResult(Object result) { if (result == null) { return; } RemoteEndpoint.Basic remoteEndpoint = session.getBasicRemote(); try { if (result instanceof String) { remoteEndpoint.sendText((String) result); } else if (result instanceof ByteBuffer) { remoteEndpoint.sendBinary((ByteBuffer) result); } else if (result instanceof byte[]) { remoteEndpoint.sendBinary(ByteBuffer.wrap((byte[]) result)); } else { remoteEndpoint.sendobject(result); } } catch (IOException ioe) { throw new IllegalStateException(ioe); } catch (EncodeException ee) { throw new IllegalStateException(ee); } }
@SuppressWarnings("ResultOfMethodCallIgnored") @Before public void setup() throws Exception{ //setup mocks cle = new ClassLoaderEndpoint(); session = mock(Session.class); RemoteEndpoint remoteEndpoint = mock(RemoteEndpoint.Async.class); doReturn(remoteEndpoint).when(session).getAsyncRemote(); ((RemoteEndpoint.Async) doReturn(null).when(remoteEndpoint)).sendBinary(any(ByteBuffer.class)); resourceRequest = mock(ResourceRequest.class); doReturn(UUID.randomUUID()).when(resourceRequest).getClassLoaderId(); doReturn("resource1").when(resourceRequest).getResourceName(); FressianWriter fressianWriter = mock(FressianWriter.class); doReturn(mock(Writer.class)).when(fressianWriter).writeObject(any(ResourceRequest.class)); powermockito.whenNew(FressianWriter.class).withAnyArguments().thenReturn(fressianWriter); }
@Override public void onopen(Session session,EndpointConfig arg1) { final RemoteEndpoint.Basic remote = session.getBasicRemote(); session.addMessageHandler(new MessageHandler.Whole<String>() { public void onMessage(String text) { try { remote.sendText(text.toupperCase()); } catch (IOException ioe) { ioe.printstacktrace(); } } }); }
public static String getIp(javax.websocket.Session session){ RemoteEndpoint.Async async = session.getAsyncRemote(); InetSocketAddress addr = (InetSocketAddress) getFieldInstance(async,"base#sos#socketWrapper#socket#sc#remoteAddress"); if(addr == null){ return "127.0.0.1"; } return addr.getAddress().getHostAddress(); }
public void join(User player2) { if (player2 == null) { return; } if (playing && checkOpen(player2)) { try { spectators.add(player2); player2.addMessageHandler(handler.new spectatorHandler(player2)); RemoteEndpoint.Basic remote = player2.getBasicRemote(); remote.sendText("start:spectator"); updateallMap(-1,true,player2.getBasicRemote()); remote.sendText("status:white:" + (turnToBlack ? "Waiting..." : "Holding...")); remote.sendText("status:black:" + (turnToBlack ? "Holding..." : "Waiting...")); remote.sendText("join:white:" + (player1IsWhite ? player1.getName() : this.player2.getName())); remote.sendText("join:black:" + (!player1IsWhite ? player1.getName() : this.player2.getName())); broadcast("join:spectator:" + player2.getName()); } catch (IOException ex) { spectators.remove(player2); } return; } this.player2 = player2; broadcast("join:" + (player1IsWhite ? "black" : "white") + ":" + player2.getName()); sendToPlayer2("join:" + (player1IsWhite ? "white" : "black") + ":" + player1.getName()); if (canStart()) { start(false); } player2.addMessageHandler(this.handler.new Player2Handler()); }
public static void executeRemoteCommand(Client client,String command) { LOGGER.info("Executing remote command ..."); RemoteEndpoint.Basic remoteEndpoint = client.getRemoteEndpoint(); String data = "{\"action\":\"read\",\"data\":\"" + command + "\\r\\n\"}"; try { remoteEndpoint.sendBinary(ByteBuffer.wrap(data.getBytes())); } catch (IOException e) { e.printstacktrace(); } }
@Override public void onopen(Session arg0,javax.websocket.EndpointConfig arg1) { // Todo Auto-generated method stub RemoteEndpoint.Basic remoteEndpointBasic = arg0.getBasicRemote(); arg0.addMessageHandler(new EchoMessageHandler(remoteEndpointBasic)); System.out.println("MyEndpoint OpOpen"); }
private void processSend() { List<String> activetokenKeys = NetSystem.getInstance().getActivetokenKeys(); Token token = null; String key = null; for (int i = 0; i < activetokenKeys.size(); ++i) { key = activetokenKeys.get(i); token = NetSystem.getInstance().getTokenByConnection(key); if (token == null || !token.isUsing()) { continue; } // token.formatSendPacket(mPacketFormat); int length = token.getNetStream().OutStreamLength(); if (token.getCanSend() && token.getNetStream().asyncPipeInIdle() && length > 0) { RemoteEndpoint re = (RemoteEndpoint)token.getConnection().getReal(); ByteBuffer bb = ByteBuffer.wrap(token.getNetStream().asyncPipeOut(),length); ((RemoteEndpoint.Async)re).sendBinary(bb,getAsyncSendHandler(token).setLength(length)); token.setCanSend(false); } } }
/** * Test of removeSessionToTopics method,of class TopicManager. * * @throws java.lang.illegalaccessexception */ @Test public void testRemoveSessionToTopic() throws illegalaccessexception { System.out.println("removeSessionToTopic"); Session session = mock(Session.class); when(session.isopen()).thenReturn(true); int result = instance.registerTopicSession(TOPIC1,session); assertthat(result).isEqualTo(1); assertthat(instance.getNumberSubscribers(TOPIC1)).isEqualTo(1); result = instance.registerTopicSession(TOPIC2,session); assertthat(result).isEqualTo(1); assertthat(instance.getNumberSubscribers(TOPIC2)).isEqualTo(1); Session session1 = mock(Session.class); when(session1.isopen()).thenReturn(true); result = instance.registerTopicSession(TOPIC2,session1); assertthat(result).isEqualTo(2); assertthat(instance.getNumberSubscribers(TOPIC2)).isEqualTo(2); result = instance.registerTopicSession(SUBTOPIC2,session1); assertthat(result).isEqualTo(1); assertthat(instance.getNumberSubscribers(SUBTOPIC2)).isEqualTo(1); RemoteEndpoint.Async async = mock(RemoteEndpoint.Async.class); when(session1.getAsyncRemote()).thenReturn(async); instance.removeSessionToTopics(session); instance.removeSessionToTopics(null); assertthat(instance.getNumberSubscribers(TOPIC1)).isEqualTo(0); assertthat(instance.getNumberSubscribers(TOPIC2)).isEqualTo(1); ArgumentCaptor<MessagetoClient> captureMsg = ArgumentCaptor.forClass(MessagetoClient.class); verify(async).sendobject(captureMsg.capture()); MessagetoClient msg = captureMsg.getValue(); assertthat(msg.getType()).isEqualTo(MessageType.MESSAGE); assertthat(msg.getId()).isEqualTo(Constants.Topic.SUBSCRIBERS + Constants.Topic.COLON + TOPIC2); assertthat(msg.getResponse()).isEqualTo(1); }
public static void executeRemoteCommand(Client client,String command) { log.info("Executing remote command ..."); RemoteEndpoint.Basic remoteEndpoint = client.getRemoteEndpoint(); String data = "{\"action\":\"read\",\"data\":\"" + command + "\\r\\n\"}"; try { remoteEndpoint.sendBinary(ByteBuffer.wrap(data.getBytes())); } catch (IOException e) { e.printstacktrace(); } }
private void lockAndRun(InternalMessage message,Member destination,int retry) { try { RemoteEndpoint.Basic basic = destination.getSession().getBasicRemote(); synchronized (destination) { basic.sendobject(message.transformToExternalMessage()); } } catch (Exception e) { if (retry >= 0) { log.warn("retrying... " + message.transformToExternalMessage()); send(message,--retry); } log.error("Unable to send message: " + message.transformToExternalMessage() + " error during sending!"); throw new RuntimeException("Unable to send message: " + message.transformToExternalMessage(),e); } }
protected Session mockSession(String id,ArgumentMatcher<Message> match) { Session s = mock(Session.class); when(s.getId()).thenReturn(id); when(s.isopen()).thenReturn(true); Async mockAsync = mockAsync(match); RemoteEndpoint.Basic mockBasic = mockBasic(match); when(s.getAsyncRemote()).thenReturn(mockAsync); when(s.getBasicRemote()).thenReturn(mockBasic); return s; }
protected RemoteEndpoint.Basic mockBasic(ArgumentMatcher<Message> match) { try { RemoteEndpoint.Basic basic = mock(RemoteEndpoint.Basic.class); donothing().when(basic).sendobject(Mockito.argThat(match)); return basic; } catch (Exception e) { throw new RuntimeException(e); } }
public TestClientActor(String name,Server server) { this.server = server; this.name = name; Session session = mock(Session.class); this.client = new MockedClient(server,session); when(session.getId()).thenReturn(name); when(session.isopen()).thenReturn(true); RemoteEndpoint.Async async = mockAsync(session); RemoteEndpoint.Basic basic = mockBasic(); when(session.getAsyncRemote()).thenReturn(async); when(session.getBasicRemote()).thenReturn(basic); this.session = session; }
private RemoteEndpoint.Basic mockBasic() { try { RemoteEndpoint.Basic basic = mock(RemoteEndpoint.Basic.class); donothing().when(basic).sendobject(Mockito.argThat(client)); return basic; } catch (Exception e) { throw new RuntimeException("",e); } }
private void broadcastEvent(ActivitiActivityEvent e) { ProcessEventDTO dto = ProcessEventDTO.builder().activityId(e.getActivityId()) .activityName(e.getActivityId()) .activityType(e.getType().toString()) .processId(e.getProcessInstanceId()) .build(); log.info("Activiti event received: " + e.getType()); RemoteEndpoint.Basic remoteEndpoint = session.getBasicRemote(); try { remoteEndpoint.sendText(om.writeValueAsstring(dto)); } catch (IOException ex) { throw new RuntimeException(ex); } }
@Before public void setUp() { session = mock(Session.class); basicRemote = mock(RemoteEndpoint.Basic.class); when(session.getBasicRemote()).thenReturn(basicRemote); response = new WebSocketResponse(session); }
OutputStreamHandler(RemoteEndpoint.Basic remoteEndpointBasic,InputStream out) { this.remote = remoteEndpointBasic; this.out = out; }
@Override public RemoteEndpoint.Async getAsyncRemote() { checkState(); return remoteEndpointAsync; }
@Override public RemoteEndpoint.Basic getBasicRemote() { checkState(); return remoteEndpointBasic; }
@Override public void onopen(Session session,EndpointConfig endpointConfig) { RemoteEndpoint.Basic remoteEndpointBasic = session.getBasicRemote(); session.addMessageHandler(new EchoMessageHandlerText(remoteEndpointBasic)); session.addMessageHandler(new EchoMessageHandlerBinary(remoteEndpointBasic)); }
private EchoMessageHandlerText(RemoteEndpoint.Basic remoteEndpointBasic) { this.remoteEndpointBasic = remoteEndpointBasic; }
private EchoMessageHandlerBinary(RemoteEndpoint.Basic remoteEndpointBasic) { this.remoteEndpointBasic = remoteEndpointBasic; }
@Override public RemoteEndpoint.Async getAsyncRemote() { checkState(); return remoteEndpointAsync; }
@Override public RemoteEndpoint.Basic getBasicRemote() { checkState(); return remoteEndpointBasic; }
com.esotericsoftware.kryonet.EndPoint的实例源码
public static void register(EndPoint endPoint) { Kryo kryo = endPoint.getKryo(); kryo.register(ConnectPacket.class); kryo.register(NewUserConnectedLobbyPacket.class); kryo.register(ErrorPacket.class); kryo.register(ErrorPacket.ErrorType.class); kryo.register(EntityMovePacket.class); kryo.register(EntityPacket.class); kryo.register(EntityRemovePacket.class); kryo.register(GotoPosPacket.class); kryo.register(EntityHpPacket.class); kryo.register(EntityEffectAddPacket.class); kryo.register(EntityEffectRemovePacket.class); kryo.register(TchatMsgPacket.class); kryo.register(TchatCommandPacket.class); kryo.register(TchatCommands.class); kryo.register(ConnectQueuePlace.class); kryo.register(PlayerSpellPacket.class); kryo.register(targettype.class); kryo.register(PlayerUseSpellPacket.class); kryo.register(ChangeMapPacket.class); kryo.register(PlayerSpellUsedPacket.class); kryo.register(ObjectStats.class); kryo.register(EntityStats.class); }
static public void register(EndPoint endPoint) { Log.set(Log.LEVEL_DEBUG); Log.setLogger(new Log.Logger()); Kryo kryo = endPoint.getKryo(); kryo.register(deliquescence.network.PacketTitle.class); kryo.register(java.util.HashMap.class); kryo.register(java.util.ArrayList.class); kryo.register(NetworkPacket.class); kryo.register(NetworkGameSettings.class); kryo.register(deliquescence.Tile.class); kryo.register(deliquescence.network.NetworkGame.class); kryo.register(UUID.class,new UUIDSerializer()); kryo.register(com.esotericsoftware.kryo.util.ObjectMap.class); kryo.register(deliquescence.Player.class); kryo.register(deliquescence.Player[].class); kryo.register(javax.swing.plaf.ColorUIResource.class); kryo.register(float[].class); kryo.register(java.net.Inet4Address.class); kryo.register(double.class); kryo.register(Object[].class); kryo.register(java.util.TreeSet.class); }
public TListener(EndPoint e) { kryo = e.getKryo(); kryo.setRegistrationrequired(true); kryo.setAsmEnabled(true); kryo.register(ServerListingState.class); kryo.register(AuthState.class); kryo.register(AuthPacketRequest.class); kryo.register(AuthResponse.class); kryo.register(AddServerResponse.class); kryo.register(ServerListing.class); kryo.register(RegistrationPacketRequest.class); kryo.register(RegisterResponse.class); }
public LoginClientListener(EndPoint e) { kryo = e.getKryo(); kryo.setRegistrationrequired(true); kryo.setAsmEnabled(true); kryo.register(ServerListingState.class); kryo.register(AuthState.class); kryo.register(AuthPacketRequest.class); kryo.register(AuthResponse.class); kryo.register(AddServerResponse.class); kryo.register(ServerListing.class); kryo.register(RegistrationPacketRequest.class); kryo.register(RegisterResponse.class); // System.out.println("Client Handler have been started!"); }
public static void register(EndPoint endpoint) { Kryo kryo = endpoint.getKryo(); // This must be called in order to use ObjectSpaces. // ObjectSpace.registerClasses(kryo); // The interfaces that will be used as remote objects must be registered. kryo.register(PlayerMessage.MessageId.class); kryo.register(SetPlayerNameRequestMessage.class); kryo.register(SetPlayerNameResponseMessage.class); kryo.register(FreeCarsMessage.class); kryo.register(SelectCarRequestMessage.class); kryo.register(SelectCarResponseMessage.class); kryo.register(UpdateVeLocityMessage.class); kryo.register(PlayerConnectedMessage.class); kryo.register(StartGameMessage.class); kryo.register(PlayerMessage.class); kryo.register(UpdateGameStateMessage.class); kryo.register(UpdateCheckPointDirectionMessage.class); kryo.register(ReconnectRequestMessage.class); kryo.register(ReconnectRequestResponse.class); kryo.register(PlayerdisconnectedMessage.class); kryo.register(byte[].class); }
public static void register(EndPoint endPoint) { Kryo kryo = endPoint.getKryo(); kryo.register(RegisterClient.class); kryo.register(RegisterServer.class); kryo.register(EntityPacket.class); kryo.register(EntityPacket.EntityRender.class); kryo.register(CreateShare.class); kryo.register(ViewShare.class); kryo.register(ConfirmSession.class); }
static public void register(EndPoint endPoint) { Kryo kryo = endPoint.getKryo(); kryo.register(RegisterNameInfo.class); kryo.register(String[].class); kryo.register(MessageInfo.class); kryo.register(String.class); kryo.register(PointInfo.class); kryo.register(PlayerInfo.class); kryo.register(disconnectionInfo.class); kryo.register(TypingInfo.class); }
public static void register(final EndPoint endPoint) { final Kryo kryo = endPoint.getKryo(); kryo.setReferences(false); kryo.register(Ping.class); kryo.register(Pong.class); kryo.register(Size.class); kryo.register(Price.class); }
static public void register(EndPoint endPoint) { Kryo kryo = endPoint.getKryo(); kryo.register(String[].class); kryo.register(SomeRequest.class); kryo.register(SomeResponse.class); kryo.register(KeyEvent.class); kryo.register(EventSequence.class); kryo.register(Event.class); kryo.register(ArrayList.class); kryo.register(ServerGreeting.class); kryo.register(ServerWindow.class); kryo.register(Handshake.class); }
static public void register (EndPoint endPoint) { Kryo kryo = endPoint.getKryo(); kryo.register(MessageModel.class); kryo.register(MessageConnect.class); kryo.register(Messagedisconnect.class); kryo.register(MessageMove.class); kryo.register(MessageShoot.class); kryo.register(MessageSpell.class); kryo.register(MessageChangeTeam.class); kryo.register(MessagePlayerDelete.class); kryo.register(MessagePlayerNew.class); kryo.register(MessagePlayerObserverDelete.class); kryo.register(MessagePlayerObserverNew.class); kryo.register(MessagePlayerUpdateState.class); kryo.register(MessagePlayerUpdatePosition.class); kryo.register(MessagePlayerRevive.class); kryo.register(MessageCollision.class); kryo.register(MessagePutObstacle.class); kryo.register(MessageObstacleUpdateState.class); kryo.register(MessageShotUpdateState.class); kryo.register(MessageChat.class); kryo.register(MessageRoundKill.class); kryo.register(MessageRoundscore.class); kryo.register(MessageRoundStart.class); kryo.register(MessageRoundEnd.class); kryo.register(MessageDeleteObject.class); kryo.register(EnumGameObject.class); kryo.register(EnumCollision.class); // pas utilisé kryo.register(MessageNeedMap.class); kryo.register(MessageDownload.class); kryo.register(ArrayList.class); }
static public void register (EndPoint endPoint) { Kryo kryo = endPoint.getKryo(); kryo.register(MessageModel.class); kryo.register(MessageConnect.class); kryo.register(Messagedisconnect.class); kryo.register(MessageMove.class); kryo.register(MessageShoot.class); kryo.register(MessageSpell.class); kryo.register(MessageChangeTeam.class); kryo.register(MessagePlayerDelete.class); kryo.register(MessagePlayerNew.class); kryo.register(MessagePlayerObserverDelete.class); kryo.register(MessagePlayerObserverNew.class); kryo.register(MessagePlayerUpdateState.class); kryo.register(MessagePlayerUpdatePosition.class); kryo.register(MessagePlayerRevive.class); kryo.register(MessageCollision.class); kryo.register(MessagePutObstacle.class); kryo.register(MessageObstacleUpdateState.class); kryo.register(MessageShotUpdateState.class); kryo.register(MessageChat.class); kryo.register(MessageRoundKill.class); kryo.register(MessageRoundscore.class); kryo.register(MessageRoundStart.class); kryo.register(MessageRoundEnd.class); kryo.register(MessageDeleteObject.class); kryo.register(EnumGameObject.class); kryo.register(EnumCollision.class); }
public static void register(EndPoint endPoint) { Kryo kryo = endPoint.getKryo(); kryo.register(ConnectPacket.class); kryo.register(NewUserConnectedLobbyPacket.class); kryo.register(TchatPrivmsgPacket.class); kryo.register(ErrorPacket.class); kryo.register(ErrorPacket.ErrorType.class); // Game lobby packets kryo.register(GameLobbyJoin.class); kryo.register(CreateGamePacket.class); kryo.register(GameLobbyNumberPacket.class); kryo.register(GameLobbyPacket.class); }
/** * Enregistre les classes qui seront transmises via le réseau. * * @param endPoint * Objet utilisé pour l'enregistrement des classes. */ static public void register (EndPoint endPoint) { Kryo kryo = endPoint.getKryo(); kryo.register(Integer.class); kryo.register(Integer[].class); kryo.register(int[].class); kryo.register(float[].class); kryo.register(String.class); kryo.register(Profile.class); kryo.register(Profile[].class); kryo.register(UpdateInterface.class); kryo.register(Round.class); kryo.register(Player.class); kryo.register(Player[].class); kryo.register(Board.class); kryo.register(PhysBoard.class); kryo.register(PhysItemInstance.class); kryo.register(LinkedList.class); kryo.register(ArrayList.class); kryo.register(Snake[].class); kryo.register(ItemInstance.class); kryo.register(ItemInstance[].class); kryo.register(ItemType.class); kryo.register(PhysSnake.class); kryo.register(TreeSet.class); kryo.register(Position.class); kryo.register(State.class); kryo.register(SmallUpdate.class); kryo.register(boolean[].class); kryo.register(boolean.class); }
public static void register(EndPoint endPoint) { Kryo kryo = endPoint.getKryo(); kryo.register(Login.class); kryo.register(Connectionestablished.class); kryo.register(Registrationrequired.class); kryo.register(Register.class); kryo.register(AddCharacter.class); kryo.register(UpdateCharacter.class); kryo.register(RemoveCharacter.class); kryo.register(KingdomCharacter.class); kryo.register(ChatMessage.class); kryo.register(ProjectileMessage.class); }
static public void register (EndPoint endPoint) { Kryo kryo = endPoint.getKryo(); kryo.register(Login.class); kryo.register(Registrationrequired.class); kryo.register(Register.class); kryo.register(AddCharacter.class); kryo.register(UpdateCharacter.class); kryo.register(RemoveCharacter.class); kryo.register(Character.class); kryo.register(MoveCharacter.class); }
static public void register (EndPoint endPoint) { Kryo kryo = endPoint.getKryo(); // This must be called in order to use ObjectSpaces. ObjectSpace.registerClasses(kryo); // The interfaces that will be used as remote objects must be registered. kryo.register(IPlayer.class); kryo.register(IChatFrame.class); // The classes of all method parameters and return values // for remote objects must also be registered. kryo.register(String[].class); }
static public void register (EndPoint endPoint) { Kryo kryo = endPoint.getKryo(); kryo.register(RegisterName.class); kryo.register(String[].class); kryo.register(UpdateNames.class); kryo.register(ChatMessage.class); }
public ServerListener(EndPoint endPoint) { Kryo kryo = endPoint.getKryo(); kryo.register(AuthPacketRequest.class); kryo.register(MessagePacketRequest.class); kryo.register(RegistrationPacketRequest.class); kryo.register(CharacterChooseRequest.class); kryo.register(CreateCharacterRequest.class); kryo.register(InputRequest.class); logger.log(Level.INFO,"Начинаем принимать пакеты."); }
public SPListener(EndPoint e) { kryo = e.getKryo(); kryo.setRegistrationrequired(true); kryo.setAsmEnabled(true); kryo.register(ServerState.class); kryo.register(AuthServerRequest.class); kryo.register(AccountRequest.class); kryo.register(ProcessLoginResponse.class); }
public RegListener(EndPoint e) { kryo = e.getKryo(); // ����������� �������. *������ ����������� � ����� �� // ������������������,��� � �� �������!* kryo.setRegistrationrequired(true); kryo.setAsmEnabled(true); kryo.register(ServerState.class); kryo.register(AuthServerRequest.class); kryo.register(AccountRequest.class); kryo.register(ProcessLoginResponse.class); }
public static void register(EndPoint endPoint) { Kryo kryo = endPoint.getKryo(); kryo.register(String.class); kryo.register(PlayerConfig.class); kryo.register(PlayerConfig[].class); kryo.register(PlayerList.class); kryo.register(VersionError.class); kryo.register(GameFullError.class); }
public static void registerClasses(EndPoint endpoint) { Log.debug("KryonetUtility.registerClasses()"); //JDK classes endpoint.getKryo().register(HashMap.class); //Entity classes endpoint.getKryo().register(User.class); endpoint.getKryo().register(Room.class); endpoint.getKryo().register(Room[].class); endpoint.getKryo().register(RoomGroup.class); //Request classes endpoint.getKryo().register(GetRoomsRequest.class); endpoint.getKryo().register(JoinRoomrequest.class); endpoint.getKryo().register(LeaveRoomrequest.class); endpoint.getKryo().register(LoginRequest.class); endpoint.getKryo().register(logoutRequest.class); endpoint.getKryo().register(PrivateMessageRequest.class); endpoint.getKryo().register(PublicmessageRequest.class); //Response classes endpoint.getKryo().register(ErrorResponse.class); endpoint.getKryo().register(GetRoomsResponse.class); endpoint.getKryo().register(JoinRoomFailureResponse.class); endpoint.getKryo().register(JoinRoomSuccessResponse.class); endpoint.getKryo().register(LeaveRoomresponse.class); endpoint.getKryo().register(LoginFailureResponse.class); endpoint.getKryo().register(LoginSuccessResponse.class); endpoint.getKryo().register(logoutResponse.class); endpoint.getKryo().register(PrivateMessageResponse.class); endpoint.getKryo().register(PublicmessageResponse.class); }
static public void register (EndPoint endPoint) { Kryo kryo = endPoint.getKryo(); kryo.register(Login.class); kryo.register(Registrationrequired.class); kryo.register(Register.class); kryo.register(AddCharacter.class); kryo.register(UpdateCharacter.class); kryo.register(RemoveCharacter.class); kryo.register(Character.class); kryo.register(MoveCharacter.class); }
static public void register (EndPoint endPoint) { Kryo kryo = endPoint.getKryo(); // This must be called in order to use ObjectSpaces. ObjectSpace.registerClasses(kryo); // The interfaces that will be used as remote objects must be registered. kryo.register(IPlayer.class); kryo.register(IChatFrame.class); // The classes of all method parameters and return values // for remote objects must also be registered. kryo.register(String[].class); }
static public void register (EndPoint endPoint) { Kryo kryo = endPoint.getKryo(); kryo.register(RegisterName.class); kryo.register(String[].class); kryo.register(UpdateNames.class); kryo.register(ChatMessage.class); }
static public void register( EndPoint endPoint ) { Kryo kryo = endPoint.getKryo(); kryo.register(RegisterName.class); kryo.register(String[].class); kryo.register(UpdateNames.class); kryo.register(ChatMessage.class); kryo.register(int[].class); }
static public void register (EndPoint endPoint) { Kryo kryo = endPoint.getKryo(); kryo.register(SelectMessage.class); kryo.register(ActionMessage.class); kryo.register(SelectMessageClient.class); kryo.register(ActionMessageClient.class); kryo.register(int[][].class); kryo.register(int[].class); kryo.register(SyncBoard.class); kryo.register(RequestBoard.class); kryo.register(SetReady.class); kryo.register(Start.class); kryo.register(forceStart.class); }
public static void register(EndPoint endpoint) { Kryo kryo = endpoint.getKryo(); kryo.register(byte[].class); kryo.register(CameraMessage.class); kryo.register(CameraMessage.MessageId.class); kryo.register(CarDetectedMessage.class); kryo.register(ConfigureMapMessage.class); kryo.register(UpdateCarMessage.class); }
@Override public void registerMessages(EndPoint kryo) { MessageRegistrar.register(kryo); }
public static void register(EndPoint endPoint){ Kryo kryo = endPoint.getKryo(); //BrickMessages kryo.register(BrickMessages.class); kryo.register(BrickMessages.CreateMotorMessage.class); kryo.register(BrickMessages.CreateSensorMessage.class); kryo.register(BrickMessages.CreatedisplayMessage.class); kryo.register(BrickMessages.HelloMessage.class); kryo.register(BrickMessages.EndpointCreatedMessage.class); //displayMessages kryo.register(displayMessages.DrawString.class); kryo.register(displayMessages.Hellodisplay.class); kryo.register(displayMessages.Cleardisplay.class); //RegulatedMotorMessages kryo.register(RegulatedMotorMessages.BackwardMsg.class); kryo.register(RegulatedMotorMessages.ForwardMsg.class); kryo.register(RegulatedMotorMessages.SetSpeedMsg.class); kryo.register(RegulatedMotorMessages.StopMsg.class); kryo.register(RegulatedMotorMessages.RotateMessage.class); kryo.register(RegulatedMotorMessages.RotatetoMessage.class); kryo.register(RegulatedMotorMessages.MotorState.class); //UnregulatedMotorMessages kryo.register(UnregulatedMotorMessages.BackwardMsg.class); kryo.register(UnregulatedMotorMessages.ForwardMsg.class); kryo.register(UnregulatedMotorMessages.SetPowerMsg.class); kryo.register(UnregulatedMotorMessages.StopMsg.class); kryo.register(UnregulatedMotorMessages.MotorState.class); //SensorMessages kryo.register(SensorMessages.SensorEventMsg.class); kryo.register(SensorMessages.ChangeSensorModeMsg.class); kryo.register(SensorMessages.SensorMode_.class); kryo.register(SensorMessages.modeChangedSuccessfullyMsg.class); kryo.register(SensorMessages.SensorErrorMessage.class); kryo.register(SensorMessages.HelloSensorMessage.class); kryo.register(SensorMessages.StatusMessage.class); //StatusLightMessages kryo.register(StatusLightMessages.SetStatusLightMsg.class); /** ----- Used classes by Message-classes ----- **/ kryo.register(Sensors.class); kryo.register(Motors.class); //kryo.register(SensorPort.class); //kryo.register(MotorPort.class); //kryo.register(Port.class); kryo.register(NetworkPortConfig.class); //Used Primitives kryo.register(String.class); kryo.register(Boolean.class); kryo.register(boolean.class); kryo.register(float.class); kryo.register(float[].class); kryo.register(Integer.class); kryo.register(int.class); kryo.register(int[].class); kryo.register(long.class); kryo.register(long[].class); }
public static void registerClasses(EndPoint endPoint) { Kryo kryo = endPoint.getKryo(); kryo.register(Command.class); kryo.register(Command.Type.class); }
public static void addListeners(EndPoint addingClientOrServer) { // Listeners are added here. addingClientOrServer.addListener(new GetChunk()); addingClientOrServer.addListener(new PlaceChunk()); addingClientOrServer.addListener(new Terminaldisplay()); addingClientOrServer.addListener(new WaitUntil()); }
static public void register (EndPoint endPoint) { Registration registration; Kryo kryo = endPoint.getKryo(); registration = kryo.register(ConnectMessage.class); registration.setInstantiator(new ObjectInstantiator<ConnectMessage>() { @Override public ConnectMessage newInstance() { return MessageObjectPool.instance.connectMessagePool.obtain(); } }); registration = kryo.register(ControlsMessage.class); registration.setInstantiator(new ObjectInstantiator<ControlsMessage>() { @Override public ControlsMessage newInstance() { return MessageObjectPool.instance.controlsMessagePool.obtain(); } }); registration = kryo.register(EntityState.class); registration.setInstantiator(new ObjectInstantiator<EntityState>() { @Override public EntityState newInstance() { return MessageObjectPool.instance.entityStatePool.obtain(); } }); registration = kryo.register(GameStateMessage.class); registration.setInstantiator(new ObjectInstantiator<GameStateMessage>() { @Override public GameStateMessage newInstance() { return MessageObjectPool.instance.gameStateMessagePool.obtain(); } }); registration = kryo.register(AudioMessage.class); registration.setInstantiator(new ObjectInstantiator<AudioMessage>() { @Override public AudioMessage newInstance() { return MessageObjectPool.instance.audioMessagePool.obtain(); } }); kryo.register(PlayerNamesMessage.class); kryo.register(ClientDetailsMessage.class); kryo.register(ServerStatusMessage.class); kryo.register(ServerStatusMessage.Status.class); kryo.register(ArrayList.class); kryo.register(Vector2.class); kryo.register(String.class); kryo.register(HashMap.class); }
public static void register(EndPoint endPoint) { Kryo kryo = endPoint.getKryo(); // -- COMMON -- kryo.register(Event.class); kryo.register(Event.Status.class); kryo.register(Room.class); kryo.register(Group.class); kryo.register(HashSet.class); kryo.register(ArrayList.class); kryo.register(LocalDate.class,new LocalDateSerializer()); kryo.register(LocalTime.class,new LocalTimeSerializer()); kryo.register(LocalDateTime.class,new LocalDateTimeSerializer()); kryo.register(Notification.class); kryo.register(Room.class); kryo.register(String.class); kryo.register(User.class); kryo.register(Team.class); // -- MESSAGES -- kryo.register(AuthCompleteMessage.class); kryo.register(AuthCompleteMessage.Command.class); kryo.register(AuthMessage.class); kryo.register(AuthMessage.Command.class); kryo.register(ErrorMessage.class); kryo.register(EventMessage.class); kryo.register(EventMessage.Command.class); kryo.register(GeneralMessage.class); kryo.register(GeneralMessage.Command.class); kryo.register(InviteMessage.class); kryo.register(InviteMessage.Command.class); kryo.register(ParticipantStatusMessage.class); kryo.register(ParticipantStatusMessage.Command.class); kryo.register(RoomMessage.class); kryo.register(RoomMessage.Command.class); kryo.register(UserMessage.class); kryo.register(UserMessage.Command.class); kryo.register(GeneralMessage.class); kryo.register(GeneralMessage.Command.class); kryo.register(Notification.class); kryo.register(Notification.NotificationType.class); kryo.register(NotificationMessage.class); kryo.register(NotificationMessage.Command.class); kryo.register(RequestMessage.class); kryo.register(RequestMessage.Command.class); kryo.register(ParticipantUser.class); kryo.register(ParticipantUserMessage.class); kryo.register(ParticipantUserMessage.Command.class); kryo.register(TeamMessage.class); kryo.register(TeamMessage.Command.class); }
static public void register(EndPoint endPoint) { Kryo kryo = endPoint.getKryo(); kryo.register(__PrimitiveSignal__.class); /* from client to server */ kryo.register(CharacterState__.class); kryo.register(ShootEvent__.class); kryo.register(ShootEvent__[].class); kryo.register(CreateRoom__.class); kryo.register(JoinRoom__.class); kryo.register(LoginInfo__.class); kryo.register(RegistrationInfo__.class); kryo.register(RoomChat__.class); kryo.register(KillRecord__.class); /* from server to client */ kryo.register(__Update.class); kryo.register(__EndGame.class); kryo.register(__RoomInitializer.class); kryo.register(__RoomInfo.class); kryo.register(__RoomInfo[].class); kryo.register(__RoomStatus.class); kryo.register(__YourId.class); kryo.register(__GameInitializer.class); kryo.register(__UserInfo.class); kryo.register(__ShootEvent.class); kryo.register(__ShootEvent[].class); kryo.register(__RoomChatBuffor.class); kryo.register(__CharacterState.class); kryo.register(__CharacterState[].class); kryo.register(__PlayerLeft.class); /* related classes */ kryo.register(short[].class); kryo.register(int[].class); kryo.register(boolean[].class); kryo.register(byte[].class); kryo.register(byte[][].class); System.out.println("Network#registered EndPoint"); }
public static void register(EndPoint endPoint) { Kryo kryo = endPoint.getKryo(); kryo.register(CorePlayer.class); kryo.register(CorePlayer.Nationality.class); kryo.register(Connected.class); kryo.register(Coordinate.class); kryo.register(CreatedRoom.class); kryo.register(CreateRoom.class); kryo.register(DestroyedShip.class); kryo.register(disconnect.class); kryo.register(ErrorMsg.class); kryo.register(FetchedRooms.class); kryo.register(FetchRooms.class); kryo.register(Fire.class); kryo.register(FireResult.class); kryo.register(GameReady.class); kryo.register(java.util.ArrayList.class); kryo.register(java.util.HashMap.class); kryo.register(JoinedRoom.class); kryo.register(JoinRoom.class); kryo.register(LeaveGame.class); kryo.register(LeaveRoom.class); kryo.register(LeftGame.class); kryo.register(LeftRoom.class); kryo.register(Looser.class); kryo.register(PlayerChangedname.class); kryo.register(PlayerChangeName.class); kryo.register(PlayerIsReady.class); kryo.register(PlayerReady.class); kryo.register(Room.class); kryo.register(RemoveRoom.class); kryo.register(RemovedRoom.class); kryo.register(Ship.class); kryo.register(Ship.Rotation.class); kryo.register(StartedGame.class); kryo.register(StartGame.class); kryo.register(Turn.class); kryo.register(PlayerChangeNat.class); kryo.register(PlayerChangednat.class); kryo.register(Winner.class); }
public TListener(EndPoint e) { kryo = e.getKryo(); // ����������� �������. *������ ����������� � ����� �� // ������������������,��� � �� �������!* kryo.setRegistrationrequired(true); kryo.setAsmEnabled(true); registerPacket(EntityType.class,true); registerPacket(Hashtable.class,true); registerPacket(ArrayList.class,true); registerPacket(Entity.class,true); registerPacket(String.class,true); registerPacket(Integer.class,true); registerPacket(String[].class,true); registerPacket(UpdateType.class,true); registerPacket(Vector2.class,true); registerPacket(ItemType.class,true); kryo.register(UpdateItemType.class); kryo.register(ProjectileType.class); registerPacket(LoginResponse.class,true); registerPacket(AddEntityResponse.class,true); registerPacket(SetData.class,true); registerPacket(ChatSendResponse.class,true); registerPacket(RegisterResponse.class,true); registerPacket(AddStatResponse.class,true); registerPacket(AddSkillResponse.class,true); registerPacket(MessageResponse.class,true); registerPacket(AuthPacketRequest.class,false); registerPacket(CharacterChooseRequest.class,false); registerPacket(CreateCharacterRequest.class,false); registerPacket(InputRequest.class,false); registerPacket(MessagePacketRequest.class,true); registerPacket(AddCharacterResponse.class,true); registerPacket(LoadWorldResponse.class,true); registerPacket(CharacterRemove.class,false); registerPacket(UpdatePlayerResponse.class,true); registerPacket(NetGUIInfo.class,true); registerPacket(NetGUIAnswer.class,true); registerPacket(DropdownMenuRequest.class,true); registerPacket(CloseGUIResponse.class,true); registerPacket(TargetRequest.class,true); registerPacket(SpeechResponse.class,true); registerPacket(CreateContainerResponse.class,true); registerPacket(AddToContainerResponse.class,true); registerPacket(RemoveContainerResponse.class,true); registerPacket(RemoveFromContainerResponse.class,true); registerPacket(AddEquipResponse.class,true); registerPacket(RemoveEquipResponse.class,true); registerPacket(HitResponse.class,true); registerPacket(TargetResponse.class,true); registerPacket(TargetInfoResponse.class,true); registerPacket(AddItemResponse.class,true); registerPacket(UpdateItemResponse.class,true); registerPacket(AddProjectileResponse.class,true); registerPacket(UpdateProjectileResponse.class,true); registerPacket(RemovePacket.class,true); registerPacket(ActInput.class,true); }
public ClientListener(EndPoint e) { kryo = e.getKryo(); kryo.setRegistrationrequired(true); kryo.setAsmEnabled(true); kryo.register(EntityType.class); kryo.register(Hashtable.class); kryo.register(ArrayList.class); kryo.register(Entity.class); kryo.register(String.class); kryo.register(Integer.class); kryo.register(String[].class); kryo.register(UpdateType.class); kryo.register(Vector2.class); kryo.register(ItemType.class); kryo.register(UpdateItemType.class); kryo.register(ProjectileType.class); kryo.register(LoginResponse.class); kryo.register(AddEntityResponse.class); kryo.register(SetData.class); kryo.register(ChatSendResponse.class); kryo.register(RegisterResponse.class); kryo.register(AddStatResponse.class); kryo.register(AddSkillResponse.class); kryo.register(MessageResponse.class); kryo.register(AuthPacketRequest.class); kryo.register(CharacterChooseRequest.class); kryo.register(CreateCharacterRequest.class); kryo.register(InputRequest.class); kryo.register(MessagePacketRequest.class); kryo.register(AddCharacterResponse.class); kryo.register(LoadWorldResponse.class); kryo.register(CharacterRemove.class); kryo.register(UpdatePlayerResponse.class); kryo.register(NetGUIInfo.class); kryo.register(NetGUIAnswer.class); kryo.register(DropdownMenuRequest.class); kryo.register(CloseGUIResponse.class); kryo.register(TargetRequest.class); kryo.register(SpeechResponse.class); kryo.register(CreateContainerResponse.class); kryo.register(AddToContainerResponse.class); kryo.register(RemoveContainerResponse.class); kryo.register(RemoveFromContainerResponse.class); kryo.register(AddEquipResponse.class); kryo.register(RemoveEquipResponse.class); kryo.register(HitResponse.class); kryo.register(TargetResponse.class); kryo.register(TargetInfoResponse.class); kryo.register(AddItemResponse.class); kryo.register(UpdateItemResponse.class); kryo.register(AddProjectileResponse.class); kryo.register(UpdateProjectileResponse.class); kryo.register(RemovePacket.class); kryo.register(ActInput.class); // System.out.println("Client Handler have been started!"); }
public static void registerClass(EndPoint endpoint,Class type) { endpoint.getKryo().register(type); }
/** * Registers the EndPoint (Server,Client). Should be called after creating it. * @param ep EndPoint / Server / Client / ... to register */ public void register(EndPoint ep) { Kryo kryo = ep.getKryo(); kryo.setRegistrationrequired(false); }
io.netty.handler.codec.http.websocketx.PongWebSocketFrame的实例源码
private void handlerWebSocketFrame(ChannelHandlerContext ctx,WebSocketFrame frame) { // 判断是否关闭链路的指令 if (frame instanceof CloseWebSocketFrame) { socketServerHandshaker.close(ctx.channel(),(CloseWebSocketFrame) frame.retain()); } // 判断是否ping消息 if (frame instanceof PingWebSocketFrame) { ctx.channel().write( new PongWebSocketFrame(frame.content().retain())); return; } // 本例程仅支持文本消息,不支持二进制消息 if (!(frame instanceof TextWebSocketFrame)) { throw new UnsupportedOperationException(String.format( "%s frame types not supported",frame.getClass().getName())); } // 返回应答消息 String request = ((TextWebSocketFrame) frame).text(); System.out.println("服务端收到:" + request); TextWebSocketFrame tws = new TextWebSocketFrame(new Date().toString() + ctx.channel().id() + ":" + request); // 群发 group.writeAndFlush(tws); }
private void handleFrame(Channel channel,WebSocketFrame frame,WebSocketUpgradeHandler handler,NettyWebSocket webSocket) throws Exception { if (frame instanceof CloseWebSocketFrame) { Channels.setdiscard(channel); CloseWebSocketFrame closeFrame = (CloseWebSocketFrame) frame; webSocket.onClose(closeFrame.statusCode(),closeFrame.reasonText()); } else { ByteBuf buf = frame.content(); if (buf != null && buf.readableBytes() > 0) { HttpResponseBodyPart part = config.getResponseBodyPartFactory().newResponseBodyPart(buf,frame.isFinalFragment()); handler.onBodyPartReceived(part); if (frame instanceof BinaryWebSocketFrame) { webSocket.onBinaryFragment(part); } else if (frame instanceof TextWebSocketFrame) { webSocket.onTextFragment(part); } else if (frame instanceof PingWebSocketFrame) { webSocket.onPing(part); } else if (frame instanceof PongWebSocketFrame) { webSocket.onPong(part); } } } }
@Override public void onInboundNext(ChannelHandlerContext ctx,Object frame) { if (frame instanceof CloseWebSocketFrame && ((CloseWebSocketFrame) frame).isFinalFragment()) { if (log.isDebugEnabled()) { log.debug("CloseWebSocketFrame detected. Closing Websocket"); } CloseWebSocketFrame close = (CloseWebSocketFrame) frame; sendClose(new CloseWebSocketFrame(true,close.rsv(),close.content()),f -> onHandlerTerminate()); return; } if (frame instanceof PingWebSocketFrame) { ctx.writeAndFlush(new PongWebSocketFrame(((PingWebSocketFrame) frame).content())); ctx.read(); return; } super.onInboundNext(ctx,frame); }
private Message decodeWebSocketFrame(ChannelHandlerContext ctx,WebSocketFrame frame) { // Check for closing frame if (frame instanceof CloseWebSocketFrame) { handshaker.close(ctx.channel(),(CloseWebSocketFrame) frame.retain()); return null; } if (frame instanceof PingWebSocketFrame) { ctx.write(new PongWebSocketFrame(frame.content().retain())); return null; } if (frame instanceof TextWebSocketFrame) { TextWebSocketFrame textFrame = (TextWebSocketFrame) frame; return parseMessage(textFrame.content()); } if (frame instanceof BinaryWebSocketFrame) { BinaryWebSocketFrame binFrame = (BinaryWebSocketFrame) frame; return parseMessage(binFrame.content()); } log.warn("Message format error: " + frame); return null; }
private void handleWebSocketFrame(ChannelHandlerContext ctx,WebSocketFrame frame) { // Check for closing frame if (frame instanceof CloseWebSocketFrame) { handshaker.close(ctx.channel(),(CloseWebSocketFrame) frame.retain()); return; } if (frame instanceof PingWebSocketFrame) { ctx.write(new PongWebSocketFrame(frame.content().retain())); return; } if (frame instanceof TextWebSocketFrame) { // Echo the frame ctx.write(frame.retain()); return; } if (frame instanceof BinaryWebSocketFrame) { // Echo the frame ctx.write(frame.retain()); return; } }
private void handleWebSocketFrame(ChannelHandlerContext ctx,WebSocketFrame frame) { // Check for closing frame if (frame instanceof CloseWebSocketFrame) { addTraceForFrame(frame,"close"); handshaker.close(ctx.channel(),(CloseWebSocketFrame) frame.retain()); return; } if (frame instanceof PingWebSocketFrame) { addTraceForFrame(frame,"ping"); ctx.channel().write(new PongWebSocketFrame(frame.content().retain())); return; } if (!(frame instanceof TextWebSocketFrame)) { throw new UnsupportedOperationException(String.format("%s frame types not supported",frame.getClass() .getName())); } // todo [om] think about BinaryWebsocketFrame handleTextWebSocketFrameInternal((TextWebSocketFrame) frame,ctx); }
@Override protected void channelRead0(ChannelHandlerContext context,Object message) throws Exception { final Channel channel = context.channel(); if (!handshaker.isHandshakeComplete()) { handshaker.finishHandshake(channel,(FullHttpResponse) message); channel.pipeline().addBefore(HANDLER_NAME,"websocket-frame-aggregator",new WebSocketFrameAggregator(64 * 1024)); subscriber.onStart(); return; } if (message instanceof FullHttpResponse) { final FullHttpResponse response = (FullHttpResponse) message; throw new IllegalStateException( "Unexpected FullHttpResponse (getStatus=" + response.getStatus() + ",content=" + response.content().toString(CharsetUtil.UTF_8) + ')'); } final WebSocketFrame frame = (WebSocketFrame) message; if (frame instanceof PingWebSocketFrame) { context.writeAndFlush(new PongWebSocketFrame(((PingWebSocketFrame)frame).retain().content())); } else if (frame instanceof BinaryWebSocketFrame) { final ByteBufInputStream input = new ByteBufInputStream(((BinaryWebSocketFrame)message).content()); final Envelope envelope = Envelope.ADAPTER.decode(input); subscriber.onNext(envelope); } }
private void handleWebSocketFrame(ChannelHandlerContext ctx,(CloseWebSocketFrame) frame.retain()); return; } if (frame instanceof PingWebSocketFrame) { ctx.channel().write(new PongWebSocketFrame(frame.content().retain())); return; } if (!(frame instanceof TextWebSocketFrame)) { throw new UnsupportedOperationException(String.format("%s frame types not supported",frame.getClass() .getName())); } // Send the uppercase string back. String request = ((TextWebSocketFrame) frame).text(); System.err.printf("%s received %s%n",ctx.channel(),request); ctx.channel().write(new TextWebSocketFrame(request.toupperCase())); }
private void handleWebSocketFrame(ChannelHandlerContext ctx,(CloseWebSocketFrame) frame.retain()); return; } if (frame instanceof PingWebSocketFrame) { ctx.write(new PongWebSocketFrame(frame.content().retain())); return; } if (frame instanceof TextWebSocketFrame) { // Echo the frame ctx.write(frame.retain()); return; } if (frame instanceof BinaryWebSocketFrame) { // Echo the frame ctx.write(frame.retain()); return; } }
private void handleWebSocketFrame(ChannelHandlerContext ctx,WebSocketFrame frame) { if (logger.isLoggable(Level.FINE)) { logger.fine(String.format( "Channel %s received %s",ctx.channel().hashCode(),StringUtil.simpleClassName(frame))); } if (frame instanceof CloseWebSocketFrame) { handshaker.close(ctx.channel(),(CloseWebSocketFrame) frame); } else if (frame instanceof PingWebSocketFrame) { ctx.write(new PongWebSocketFrame(frame.isFinalFragment(),frame.rsv(),frame.content()),ctx.voidPromise()); } else if (frame instanceof TextWebSocketFrame) { ctx.write(frame,ctx.voidPromise()); } else if (frame instanceof BinaryWebSocketFrame) { ctx.write(frame,ctx.voidPromise()); } else if (frame instanceof ContinuationWebSocketFrame) { ctx.write(frame,ctx.voidPromise()); } else if (frame instanceof PongWebSocketFrame) { frame.release(); // Ignore } else { throw new UnsupportedOperationException(String.format("%s frame types not supported",frame.getClass() .getName())); } }
@Override public void accept(ChannelHandlerContext ctx,WebSocketFrame frame) { if (frame instanceof CloseWebSocketFrame) { handshaker.close(ctx.channel(),(CloseWebSocketFrame) frame.retain()); endpoint.releaseReferences(); endpoint.onClose(); return; } if (frame instanceof PingWebSocketFrame) { ctx.channel().write(new PongWebSocketFrame(frame.content().retain())); return; } if (frame instanceof TextWebSocketFrame) { endpoint.onMessage(((TextWebSocketFrame) frame).text()); return; } throw new UnsupportedOperationException(String.format("Unsupported websocket frame of type %s",frame.getClass().getName())); }
private void handlerWebSocketFrame(ChannelHandlerContext ctx,WebSocketFrame frame) { // 判断是否关闭链路的指令 if (frame instanceof CloseWebSocketFrame) { handshaker.close(ctx.channel(),(CloseWebSocketFrame) frame.retain()); return; } // 判断是否ping消息 if (frame instanceof PingWebSocketFrame) { ctx.channel().write(new PongWebSocketFrame(frame.content().retain())); return; } // 仅支持文本消息,不支持二进制消息 if (!(frame instanceof TextWebSocketFrame)) { ctx.close();//(String.format("%s frame types not supported",frame.getClass().getName())); return; } }
public void handle(ChannelHandlerContext ctx,(CloseWebSocketFrame) frame); onClose(ctx); return; } if (frame instanceof PingWebSocketFrame) { ctx.channel().write(new PongWebSocketFrame(frame.content())); return; } if (!(frame instanceof TextWebSocketFrame)) { throw new UnsupportedOperationException(String.format("%s frame types not supported",frame.getClass() .getName())); } String msg = ((TextWebSocketFrame) frame).text(); onMessage(ctx,msg); }
public void handleWebSocketFrame(ChannelHandlerContext ctx,WebSocketFrame frame) { // 判断是否是关闭链路的指令 if (frame instanceof CloseWebSocketFrame) { handshaker.close(ctx.channel(),(CloseWebSocketFrame) frame.retain()); return; } // 判断是否是Ping消息 if (frame instanceof PingWebSocketFrame) { ctx.channel().write(new PongWebSocketFrame(frame.content().retain())); return; } if (!(frame instanceof TextWebSocketFrame)) { throw new UnsupportedOperationException(String.format("%s frame types not supported",frame.getClass().getName())); } //返回应答消息 String request= ((TextWebSocketFrame)frame).text(); System.out.println(String.format("%s received %s",request)); ctx.channel().write(new TextWebSocketFrame(request+",现在时刻:"+new Date())); }
@Override public void channelRead(ChannelHandlerContext ctx,Object msg) throws UnkNownWebSocketFrameTypeException,ServerConnectorException { if (!(msg instanceof WebSocketFrame)) { logger.error("Expecting WebSocketFrame. UnkNown type."); throw new UnkNownWebSocketFrameTypeException("Expecting WebSocketFrame. UnkNown type."); } if (msg instanceof TextWebSocketFrame) { notifyTextMessage((TextWebSocketFrame) msg); } else if (msg instanceof BinaryWebSocketFrame) { notifyBinaryMessage((BinaryWebSocketFrame) msg); } else if (msg instanceof CloseWebSocketFrame) { notifyCloseMessage((CloseWebSocketFrame) msg); } else if (msg instanceof PingWebSocketFrame) { notifyPingMessage((PingWebSocketFrame) msg); } else if (msg instanceof PongWebSocketFrame) { notifyPongMessage((PongWebSocketFrame) msg); } }
private void handleWebSocketFrame(ChannelHandlerContext ctx,frame.getClass() .getName())); } }
private void handleWebSocketFrame(ChannelHandlerContext ctx,frame.getClass() .getName())); } // Send the uppercase string back. String request = ((TextWebSocketFrame) frame).text(); if (logger.isLoggable(Level.FINE)) { logger.fine(String.format("%s received %s",request)); } ctx.channel().write(new TextWebSocketFrame(request.toupperCase())); }
private void handleWebSocketFrame(ChannelHandlerContext ctx,request)); } ctx.channel().write(new TextWebSocketFrame(request.toupperCase())); }
@Override protected void channelRead0(ChannelHandlerContext ctx,WebSocketFrame frame) throws Exception { this.last = ctx; if (frame instanceof CloseWebSocketFrame) { this.log.debug("recevied close frame"); this.server.unsubscribe(this); this.handshaker.close(ctx.channel(),(CloseWebSocketFrame)frame); } else if (frame instanceof PingWebSocketFrame) { this.log.debug("recevied ping frame"); ctx.write(new PongWebSocketFrame(frame.content())); } else if (frame instanceof TextWebSocketFrame) { this.log.debug("recevied text frame"); this.handleTextWebSocketFrame(ctx,(TextWebSocketFrame)frame); } else { this.log.info("recevied unkNown incompatible frame"); ctx.close(); } }
private void handleWebSocketFrame(ChannelHandlerContext ctx,WebSocketFrame frame) { _logger.debug("Handling websocket frame"); // Check for closing frame if (frame instanceof CloseWebSocketFrame) { _handshaker.close(ctx.channel(),(CloseWebSocketFrame) frame.retain()); return; } if (frame instanceof PingWebSocketFrame) { ctx.channel().write(new PongWebSocketFrame(frame.content().retain())); return; } if (!(frame instanceof TextWebSocketFrame)) { throw new UnsupportedOperationException(String.format("%s frame types not supported",frame.getClass() .getName())); } String request = ((TextWebSocketFrame) frame).text(); _logger.debug("{} received {}",request); _messageQueue.add(frame.content().retain()); //ctx.channel().write(new TextWebSocketFrame(request.toupperCase())); }
private void handleWebSocketFrame(ChannelHandlerContext ctx,request)); } ctx.channel().write(new TextWebSocketFrame(request.toupperCase())); }
private void handleWebSocketFrame(ChannelHandlerContext ctx,request)); } ctx.channel().write(new TextWebSocketFrame(request.toupperCase())); }
private void handleWebSocketFrame(ChannelHandlerContext ctx,frame.content())); } else if (frame instanceof TextWebSocketFrame) { ctx.write(frame); } else if (frame instanceof BinaryWebSocketFrame) { ctx.write(frame); } else if (frame instanceof ContinuationWebSocketFrame) { ctx.write(frame); } else if (frame instanceof PongWebSocketFrame) { frame.release(); // Ignore } else { throw new UnsupportedOperationException(String.format("%s frame types not supported",frame.getClass() .getName())); } }
private void handleWebSocketFrame(ChannelHandlerContext ctx,WebSocketFrame frame) { // Check for closing frame if (frame instanceof CloseWebSocketFrame) { handshaker.close(ctx.channel(),(CloseWebSocketFrame) frame.retain()); return; } if (frame instanceof PingWebSocketFrame) { ctx.write(new PongWebSocketFrame(frame.content().retain())); return; } if (frame instanceof TextWebSocketFrame) { // Echo the frame ctx.write(frame.retain()); return; } if (frame instanceof BinaryWebSocketFrame) { // Echo the frame ctx.write(frame.retain()); } }
private void handleWebSocketFrame(ChannelHandlerContext ctx,(CloseWebSocketFrame) frame.retain()); return; } if (frame instanceof PingWebSocketFrame) { ctx.channel().write(new PongWebSocketFrame(frame.content().retain())); return; } if (frame instanceof BinaryWebSocketFrame) try { this.connection.onMessage(((BinaryWebSocketFrame) frame).content().retain()); } catch (Exception e) { logger.error("onMessage error",e); handshaker.close(ctx.channel(),new CloseWebSocketFrame(true,frame.content().clear() .writeShort(1000) .writeBytes(e.getMessage().getBytes(CharsetUtil.UTF_8)) .retain())); } }
private void handleWebSocketFrame(ChannelHandlerContext ctx,WebSocketFrame msg) throws Exception { if (log.isDebugEnabled()) log.debug("Received {} WebSocketFrame: {} from channel: {}",getTransportType().getName(),msg,ctx.channel()); if (msg instanceof CloseWebSocketFrame) { sessionIdByChannel.remove(ctx.channel()); ChannelFuture f = ctx.writeAndFlush(msg); f.addListener(ChannelFutureListener.CLOSE); } else if (msg instanceof PingWebSocketFrame) { ctx.writeAndFlush(new PongWebSocketFrame(msg.content())); } else if (msg instanceof TextWebSocketFrame || msg instanceof BinaryWebSocketFrame){ Packet packet = PacketDecoder.decodePacket(msg.content()); packet.setTransportType(getTransportType()); String sessionId = sessionIdByChannel.get(ctx.channel()); packet.setSessionId(sessionId); msg.release(); ctx.fireChannelRead(packet); } else { msg.release(); log.warn("{} frame type is not supported",msg.getClass().getName()); } }
@Override protected void channelRead0(ChannelHandlerContext ctx,Object msg) throws Exception { LOG.info("Received msg: {}",msg); if (!this.handshaker.isHandshakeComplete()) { this.handshaker.finishHandshake(ctx.channel(),(FullHttpResponse) msg); LOG.info("Client connected."); this.connected = true; this.handshakeFuture.setSuccess(); return; } if (msg instanceof FullHttpResponse) { throw new IllegalStateException("Unexpected response: " + msg.toString()); } WebSocketFrame frame = (WebSocketFrame) msg; if (frame instanceof TextWebSocketFrame) { synchronized (responses) { responses.add(((TextWebSocketFrame) frame).text().getBytes(StandardCharsets.UTF_8)); } } else if (frame instanceof BinaryWebSocketFrame) { ByteBuf buf = frame.content(); byte[] b = new byte[buf.readableBytes()]; buf.readBytes(b); synchronized (responses) { responses.add(b); } } else if (frame instanceof PingWebSocketFrame) { LOG.info("Returning pong message"); ctx.writeAndFlush(new PongWebSocketFrame()); } else if (frame instanceof CloseWebSocketFrame) { LOG.info("Received message from server to close the channel."); ctx.close(); } else { LOG.warn("Unhandled frame type received: " + frame.getClass()); } }
@Override protected void channelRead0(ChannelHandlerContext ctx,Object msg) throws Exception { Channel ch = ctx.channel(); if (!handshaker.isHandshakeComplete()) { handshaker.finishHandshake(ch,(FullHttpResponse) msg); System.out.println("WebSocket Client connected!"); handshakeFuture.setSuccess(); return; } if (msg instanceof FullHttpResponse) { FullHttpResponse response = (FullHttpResponse) msg; throw new IllegalStateException( "Unexpected FullHttpResponse (getStatus=" + response.getStatus() + ",content=" + response.content().toString(CharsetUtil.UTF_8) + ')'); } else if (msg instanceof WebSocketFrame) { WebSocketFrame frame = (WebSocketFrame) msg; if (msg instanceof TextWebSocketFrame) { TextWebSocketFrame textFrame = (TextWebSocketFrame) frame; System.out.println("WebSocket Client received message: " + textFrame.text()); } else if (msg instanceof PongWebSocketFrame) { System.out.println("WebSocket Client received pong"); } else if (msg instanceof CloseWebSocketFrame) { System.out.println("WebSocket Client received closing"); ch.close(); } } }
@Override protected void channelRead0(ChannelHandlerContext ctx,(FullHttpResponse) msg); LOG.info("Client connected."); this.connected = true; this.handshakeFuture.setSuccess(); return; } if (msg instanceof FullHttpResponse) { throw new IllegalStateException("Unexpected response: " + msg.toString()); } WebSocketFrame frame = (WebSocketFrame) msg; if (frame instanceof TextWebSocketFrame) { synchronized (responses) { responses.add(((TextWebSocketFrame) frame).text()); } } else if (frame instanceof PingWebSocketFrame) { LOG.info("Returning pong message"); ctx.writeAndFlush(new PongWebSocketFrame()); } else if (frame instanceof CloseWebSocketFrame) { LOG.info("Received message from server to close the channel."); ctx.close(); } else { LOG.warn("Unhandled frame type received: " + frame.getClass()); } }
@Override protected void channelRead0(final ChannelHandlerContext ctx,final Object msg) throws Exception { final Channel ch = ctx.channel(); if (!handshaker.isHandshakeComplete()) { // web socket client connected handshaker.finishHandshake(ch,(FullHttpResponse) msg); handshakeFuture.setSuccess(); return; } if (msg instanceof FullHttpResponse) { final FullHttpResponse response = (FullHttpResponse) msg; throw new Exception("Unexpected FullHttpResponse (getStatus=" + response.getStatus() + ",content=" + response.content().toString(CharsetUtil.UTF_8) + ')'); } // a close frame doesn't mean much here. errors raised from closed channels will mark the host as dead final WebSocketFrame frame = (WebSocketFrame) msg; if (frame instanceof TextWebSocketFrame) { ctx.fireChannelRead(frame.retain(2)); } else if (frame instanceof PongWebSocketFrame) { } else if (frame instanceof BinaryWebSocketFrame) { ctx.fireChannelRead(frame.retain(2)); } else if (frame instanceof CloseWebSocketFrame) ch.close(); }
@Override public void channelRead0(ChannelHandlerContext ctx,Object msg) throws Exception { Channel ch = ctx.channel(); if (!handshaker.isHandshakeComplete()) { handshaker.finishHandshake(ch,(FullHttpResponse) msg); handshakeFuture.setSuccess(); //connection is opened. client.onopen(handshaker); return; } if (msg instanceof FullHttpResponse) { FullHttpResponse response = (FullHttpResponse) msg; throw new IllegalStateException( "Unexpected FullHttpResponse (getStatus=" + response.status() + ",content=" + response.content().toString(CharsetUtil.UTF_8) + ')'); } WebSocketFrame frame = (WebSocketFrame) msg; if (frame instanceof TextWebSocketFrame) { TextWebSocketFrame textFrame = (TextWebSocketFrame) frame; client.onMessage(textFrame.text()); } else if (frame instanceof PongWebSocketFrame) { /* * placeholder. maybe add onPong method to the RhinoClient */ } else if (frame instanceof CloseWebSocketFrame) { client.onClose(); ch.close(); } }
@Override public void channelRead0(ChannelHandlerContext ctx,Object msg) throws Exception { Channel ch = ctx.channel(); if (!handshaker.isHandshakeComplete()) { handshaker.finishHandshake(ch,(FullHttpResponse) msg); System.out.println("WebSocket Client connected!"); handshakeFuture.setSuccess(); return; } if (msg instanceof FullHttpResponse) { FullHttpResponse response = (FullHttpResponse) msg; throw new IllegalStateException( "Unexpected FullHttpResponse (getStatus=" + response.status() + ",content=" + response.content().toString(CharsetUtil.UTF_8) + ')'); } WebSocketFrame frame = (WebSocketFrame) msg; if (frame instanceof TextWebSocketFrame) { TextWebSocketFrame textFrame = (TextWebSocketFrame) frame; System.out.println("WebSocket Client received message: " + textFrame.text()); } else if (frame instanceof PongWebSocketFrame) { System.out.println("WebSocket Client received pong"); } else if (frame instanceof CloseWebSocketFrame) { System.out.println("WebSocket Client received closing"); ch.close(); } }
protected void handleWebSocketFrame(ChannelHandlerContext ctx,WebSocketFrame frame) { logger.debug("Received incoming frame [{}]",frame.getClass().getName()); // Check for closing frame if (frame instanceof CloseWebSocketFrame) { if (frameBuffer != null) { handleMessageCompleted(ctx,frameBuffer.toString()); } handshaker.close(ctx.channel(),(CloseWebSocketFrame) frame.retain()); return; } if (frame instanceof PingWebSocketFrame) { ctx.channel().writeAndFlush(new PongWebSocketFrame(frame.content().retain())); return; } if (frame instanceof PongWebSocketFrame) { logger.info("Pong frame received"); return; } if (frame instanceof TextWebSocketFrame) { frameBuffer = new StringBuilder(); frameBuffer.append(((TextWebSocketFrame)frame).text()); } else if (frame instanceof ContinuationWebSocketFrame) { if (frameBuffer != null) { frameBuffer.append(((ContinuationWebSocketFrame)frame).text()); } else { logger.warn("Continuation frame received without initial frame."); } } else { throw new UnsupportedOperationException(String.format("%s frame types not supported",frame.getClass().getName())); } // Check if Text or Continuation Frame is final fragment and handle if needed. if (frame.isFinalFragment()) { handleMessageCompleted(ctx,frameBuffer.toString()); frameBuffer = null; } }
private void handleWebSocketFrame(ChannelHandlerContext ctx,WebSocketFrame frame) { // 判断是否是关闭链路的指令 if (frame instanceof CloseWebSocketFrame) { handshaker.close(ctx.channel(),(CloseWebSocketFrame) frame.retain()); return; } // 判断是否是Ping消息 if (frame instanceof PingWebSocketFrame) { ctx.channel().write( new PongWebSocketFrame(frame.content().retain())); return; } // 本例程仅支持文本消息,不支持二进制消息 if (!(frame instanceof TextWebSocketFrame)) { throw new UnsupportedOperationException(String.format( "%s frame types not supported",frame.getClass().getName())); } // 返回应答消息 String request = ((TextWebSocketFrame) frame).text(); if (logger.isLoggable(Level.FINE)) { logger.fine(String.format("%s received %s",request)); } ctx.channel().write( new TextWebSocketFrame(request + ",欢迎使用Netty WebSocket服务,现在时刻:" + new java.util.Date().toString())); }
@Override public void channelRead0(ChannelHandlerContext ctx,(FullHttpResponse) msg); System.out.println("WebSocket Client connected!"); handshakeFuture.setSuccess(); return; } if (msg instanceof FullHttpResponse) { FullHttpResponse response = (FullHttpResponse) msg; throw new IllegalStateException( "Unexpected FullHttpResponse (getStatus=" + response.getStatus() + ",content=" + response.content().toString(CharsetUtil.UTF_8) + ')'); } WebSocketFrame frame = (WebSocketFrame) msg; if (frame instanceof TextWebSocketFrame) { TextWebSocketFrame textFrame = (TextWebSocketFrame) frame; System.out.println("WebSocket Client received message: " + textFrame.text()); } else if (frame instanceof PongWebSocketFrame) { System.out.println("WebSocket Client received pong"); } else if (frame instanceof CloseWebSocketFrame) { System.out.println("WebSocket Client received closing"); ch.close(); } }
@Override public void channelRead0(ChannelHandlerContext ctx,(FullHttpResponse) msg); logger.debug("WebSocket Client connected!"); handshakeFuture.setSuccess(); return; } if (msg instanceof FullHttpResponse) { FullHttpResponse response = (FullHttpResponse) msg; throw new IllegalStateException( "Unexpected FullHttpResponse (getStatus=" + response.status() + ",content=" + response.content().toString(CharsetUtil.UTF_8) + ')'); } WebSocketFrame frame = (WebSocketFrame) msg; if (frame instanceof TextWebSocketFrame) { TextWebSocketFrame textFrame = (TextWebSocketFrame) frame; logger.debug("WebSocket Client received text message: " + textFrame.text()); textReceived = textFrame.text(); } else if (frame instanceof BinaryWebSocketFrame) { BinaryWebSocketFrame binaryFrame = (BinaryWebSocketFrame) frame; bufferReceived = binaryFrame.content().nioBuffer(); logger.debug("WebSocket Client received binary message: " + bufferReceived.toString()); } else if (frame instanceof PongWebSocketFrame) { logger.debug("WebSocket Client received pong"); PongWebSocketFrame pongFrame = (PongWebSocketFrame) frame; bufferReceived = pongFrame.content().nioBuffer(); } else if (frame instanceof CloseWebSocketFrame) { logger.debug("WebSocket Client received closing"); ch.close(); } }
private void notifyPongMessage(PongWebSocketFrame pongWebSocketFrame) throws ServerConnectorException { //Control message for WebSocket is Pong Message ByteBuf byteBuf = pongWebSocketFrame.content(); ByteBuffer byteBuffer = byteBuf.nioBuffer(); WebSocketMessageImpl webSocketControlMessage = new WebSocketControlMessageImpl(WebSocketControlSignal.PONG,byteBuffer); webSocketControlMessage = setupCommonProperties(webSocketControlMessage); connectorFuture.notifyWSListener((WebSocketControlMessage) webSocketControlMessage); }
@Override public void channelRead0(ChannelHandlerContext ctx,URISyntaxException,ServerConnectorException { Channel ch = ctx.channel(); if (!handshaker.isHandshakeComplete()) { handshaker.finishHandshake(ch,(FullHttpResponse) msg); log.debug("WebSocket Client connected!"); handshakeFuture.setSuccess(); channelSession = WebSocketUtil.getSession(ctx,isSecure,requestedUri); return; } if (msg instanceof FullHttpResponse) { FullHttpResponse response = (FullHttpResponse) msg; throw new IllegalStateException( "Unexpected FullHttpResponse (getStatus=" + response.status() + ",content=" + response.content().toString(CharsetUtil.UTF_8) + ')'); } WebSocketFrame frame = (WebSocketFrame) msg; if (frame instanceof TextWebSocketFrame) { notifyTextMessage((TextWebSocketFrame) frame,ctx); } else if (frame instanceof BinaryWebSocketFrame) { notifyBinaryMessage((BinaryWebSocketFrame) frame,ctx); } else if (frame instanceof PongWebSocketFrame) { notifyPongMessage((PongWebSocketFrame) frame,ctx); } else if (frame instanceof PingWebSocketFrame) { notifyPingMessage((PingWebSocketFrame) frame,ctx); } else if (frame instanceof CloseWebSocketFrame) { if (channelSession != null) { channelSession.setIsOpen(false); } notifyCloseMessage((CloseWebSocketFrame) frame,ctx); ch.close(); } else { throw new UnkNownWebSocketFrameTypeException("Cannot identify the WebSocket frame type"); } }
private void notifyPongMessage(PongWebSocketFrame pongWebSocketFrame,ChannelHandlerContext ctx) throws ServerConnectorException { //Control message for WebSocket is Pong Message ByteBuf byteBuf = pongWebSocketFrame.content(); ByteBuffer byteBuffer = byteBuf.nioBuffer(); WebSocketMessageImpl webSocketControlMessage = new WebSocketControlMessageImpl(WebSocketControlSignal.PONG,byteBuffer); webSocketControlMessage = setupCommonProperties(webSocketControlMessage,ctx); connectorListener.onMessage((WebSocketControlMessage) webSocketControlMessage); }
private boolean handleWebSocketFrame(ChannelHandlerContext ctx,WebSocketFrame frame) { // Check for closing frame if (frame instanceof CloseWebSocketFrame) { this.handshaker.close(ctx.channel(),((CloseWebSocketFrame) frame).retain()); return false; } else if (frame instanceof PingWebSocketFrame) { ctx.writeAndFlush(new PongWebSocketFrame(frame.content().retain())); return false; } else if (!(frame instanceof TextWebSocketFrame) && !(frame instanceof BinaryWebSocketFrame)) { throw new UnsupportedOperationException(String.format("%s frame types not supported",frame.getClass().getName())); } return true; }
io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker的实例源码
@Override protected void initChannel(SocketChannel channel) throws SSLException { URI uri = config.getConnectionWebsocketUri(); DefaultHttpHeaders headers = new DefaultHttpHeaders(); headers.add(USER_ID_HEADER,config.getConnectionUserId().toString()); headers.add(USER_PASSWORD_HEADER,config.getConnectionUserPassword()); headers.add(supplier_ID_HEADER,config.getConnectionServerId()); WebSocketClientHandshaker handshaker = WebSocketClientHandshakerFactory.newHandshaker(uri,WS_VERSION,null,false,headers); ChannelPipeline pipeline = channel.pipeline(); if (config.isConnectionSecure()) { try { SslContext sslContext = SslContext.newClientContext(InsecureTrustManagerFactory.INSTANCE); pipeline.addLast(sslContext.newHandler(channel.alloc())); } catch (SSLException e) { logger.log(Level.SEVERE,"Shutting down client due to unexpected failure to create SSL context",e); throw e; } } pipeline.addLast(new HttpClientCodec()); pipeline.addLast(new HttpObjectAggregator(8192)); pipeline.addLast(new AudioConnectClientHandler(handshaker)); }
@Before public void setup() throws Exception { s = new Server(conf); s.run(); Connector con = mac.getConnector("root","secret"); con.securityOperations().changeUserAuthorizations("root",new Authorizations("A","B","C","D","E","F")); this.sessionId = UUID.randomUUID().toString(); AuthCache.getCache().put(sessionId,token); group = new NioEventLoopGroup(); SslContext ssl = SslContextBuilder.forClient().trustManager(InsecureTrustManagerFactory.INSTANCE).build(); String cookieVal = ClientCookieEncoder.STRICT.encode(Constants.COOKIE_NAME,sessionId); HttpHeaders headers = new DefaultHttpHeaders(); headers.add(Names.COOKIE,cookieVal); WebSocketClientHandshaker handshaker = WebSocketClientHandshakerFactory.newHandshaker(LOCATION,WebSocketVersion.V13,(String) null,headers); handler = new ClientHandler(handshaker); Bootstrap boot = new Bootstrap(); boot.group(group).channel(NioSocketChannel.class).handler(new ChannelInitializer<SocketChannel>() { @Override protected void initChannel(SocketChannel ch) throws Exception { ch.pipeline().addLast("ssl",ssl.newHandler(ch.alloc(),"127.0.0.1",WS_PORT)); ch.pipeline().addLast(new HttpClientCodec()); ch.pipeline().addLast(new HttpObjectAggregator(8192)); ch.pipeline().addLast(handler); } }); ch = boot.connect("127.0.0.1",WS_PORT).sync().channel(); // Wait until handshake is complete while (!handshaker.isHandshakeComplete()) { sleepUninterruptibly(500,TimeUnit.MILLISECONDS); LOG.debug("Waiting for Handshake to complete"); } }
@Before public void setup() throws Exception { s = new Server(conf); s.run(); Connector con = mac.getConnector("root",TimeUnit.MILLISECONDS); LOG.debug("Waiting for Handshake to complete"); } }
public WebSocketTargetHandler(WebSocketClientHandshaker handshaker,boolean isSecure,String requestedUri,String target,WebSocketConnectorListener webSocketConnectorListener) { this.handshaker = handshaker; this.isSecure = isSecure; this.requestedUri = requestedUri; this.target = target; this.connectorListener = webSocketConnectorListener; handshakeFuture = null; }
@Override public void addToPipeline(final ChannelPipeline pipeline) { pipeline.addLast("http-codec",new HttpClientCodec()); pipeline.addLast("aggregator",new HttpObjectAggregator(8192)); final WebSocketClientHandshaker handShaker = new WhiteSpaceInPathWebSocketClientHandshaker13(serverUri,PROTOCOL,createHttpHeaders(httpHeaders),Integer.MAX_VALUE); pipeline.addLast("websocket-protocol-handler",new WebSocketClientProtocolHandler(handShaker)); pipeline.addLast("websocket-frame-codec",new ByteBufToWebSocketFrameCodec()); }
public WebSocketClientHandler(long uid,WebSocketClientHandshaker handshaker) { this.uid = uid; this.handshaker = handshaker; }
public ClientHandler(WebSocketClientHandshaker handshaker) { this.handshaker = handshaker; }
private AudioConnectClientHandler(WebSocketClientHandshaker handshaker) { this.handshaker = handshaker; }
public ClientHandler(WebSocketClientHandshaker handshaker) { this.handshaker = handshaker; }
MeetupWebSocketClientHandler(WebSocketClientHandshaker handshaker,RSVPProducer rsvpProducer) { this.handshaker = handshaker; this.rsvpProducer = rsvpProducer; }
public WebSocketClientHandler(final WebSocketClientHandshaker handshaker) { this.handshaker = handshaker; }
public WebSocketClientHandler(WebSocketClientHandshaker handshaker,CountDownLatch latch) { this.handshaker = handshaker; this.latch = latch; this.isOpen = true; }
@Override public void onopen(WebSocketClientHandshaker handShaker) { // Todo Auto-generated method stub }
@Override public void onopen(WebSocketClientHandshaker handShaker) { logger.log(Level.INFO,"onopen"); }
public WebSocketClientHandler(WebSocketClientHandshaker handshaker) { this.handshaker = handshaker; }
public WebSocketClientHandler(WebSocketClientHandshaker handshaker) { this.handshaker = handshaker; }
public MessageReceiverWebSocketClientHandler(WebSocketClientHandshaker handshaker) { this.handshaker = handshaker; }
public MessageSenderWebSocketClientHandler(WebSocketClientHandshaker handshaker,String id) { this.handshaker = handshaker; publisherId = id; }
public WebSocketClientHandlerControl(WebSocketClientHandshaker handshaker) { this.handshaker = handshaker; }
public WebSocketClientHandler(WebSocketClientHandshaker handshaker) { this.handshaker = handshaker; }
public WebSocketClientHandler(WebSocketClientHandshaker handshaker) { this.handshaker = handshaker; }
public WebSocketClientHandler(WebSocketClientHandshaker handshaker) { mHandshaker = handshaker; }
public WebSocketClientHandler(WebSocketClientHandshaker handshaker) { this.handshaker = handshaker; }
@Override public void connect(WsClient client) { if (client == null) { throw new NullPointerException("client"); } final URLInfo url = client.getUrl(); String full = url.protocol + "://" + url.host + ":" + url.port + url.path; URI uri; try { uri = new URI(full); } catch (URISyntaxException e) { throw new RuntimeException(e); } WebSocketVersion v = WebSocketVersion.V13; HttpHeaders h = new DefaultHttpHeaders(); final WebSocketClientHandshaker wsch = WebSocketClientHandshakerFactory .newHandshaker(uri,v,true,h,Integer.MAX_VALUE); final WebSocketHandler handler = new WebSocketHandler(wsch,client); Bootstrap b = new Bootstrap(); b.group(Sharedobjects.getLoop()); b.channel(NioSocketChannel.class); b.handler(new ChannelInitializer<SocketChannel>() { @Override protected void initChannel(SocketChannel ch) throws Exception { ChannelPipeline p = ch.pipeline(); if (url.secure) { TrustManagerFactory man = InsecureTrustManagerFactory.INSTANCE; SslContext con = SslContext.newClientContext(man); p.addLast(con.newHandler(ch.alloc())); } p.addLast(new HttpClientCodec()); p.addLast(new HttpObjectAggregator(8192)); p.addLast(handler); } }); ChannelFuture fut = b.connect(url.host,url.port); fut.syncUninterruptibly(); handler.handshakeFuture().syncUninterruptibly(); }
public WebSocketHandler(WebSocketClientHandshaker handshake,WsClient client) { this.handshake = handshake; this.client = client; }
@Override public void connect(String url) throws Exception { URI uri = new URI(url); setConnected(false); String scheme = uri.getScheme() == null ? "http" : uri.getScheme(); final String host = uri.getHost() == null ? "127.0.0.1" : uri.getHost(); final int port; if (uri.getPort() == -1) { if ("http".equalsIgnoreCase(scheme)) { port = 80; } else if ("https".equalsIgnoreCase(scheme)) { port = 443; } else { port = -1; } } else { port = uri.getPort(); } if (!"ws".equalsIgnoreCase(scheme) && !"wss".equalsIgnoreCase(scheme)) { Notifications.Bus.notify( new Notification( "Websocket Client","Unable to connect","Only WS(S) is supported.",NotificationType.ERROR) ); return; } EventLoopGroup group = new NioEventLoopGroup(); try { WebSocketClientHandshaker handshaker = WebSocketClientHandshakerFactory.newHandshaker( uri,new DefaultHttpHeaders()); WebSocketClientHandler webSocketClientHandler = new WebSocketClientHandler(handshaker); Bootstrap bootstrap = new Bootstrap(); bootstrap.group(group) .channel(NioSocketChannel.class) .handler(new ChannelInitializer<SocketChannel>() { @Override protected void initChannel(SocketChannel ch) { ChannelPipeline p = ch.pipeline(); p.addLast( new HttpClientCodec(),new HttpObjectAggregator(8192),webSocketClientHandler); } }); channel = bootstrap.connect(uri.getHost(),port).sync().channel(); webSocketClientHandler.handshakeFuture().sync(); setConnected(true); for (; ; ); } finally { group.shutdownGracefully(); setConnected(false); } }
public WebSocketClientHandler(WebSocketClientHandshaker handshaker) { this.handshaker = handshaker; this.eventBus = EventBusService.getInstance(); }
public WebSocketClientHandler(WebSocketClientHandshaker handshaker,CountDownLatch latch) { this.handshaker = handshaker; this.latch = latch; this.isOpen = true; }
public WebSocketClientHandler(WebSocketClientHandshaker handshaker) { this.handshaker = handshaker; }
public WebSocketClientHandler(final WebSocketClientHandshaker handshaker) { this.handshaker = handshaker; }
public WebSocketClientHandler(WebSocketClientHandshaker handshaker) { this.handshaker = handshaker; }
public AbstractJsonRpcWebSocketClientHandler(WebSocketClientHandshaker handshaker) { this.handshaker = handshaker; }
public JsonRpcWebSocketClientHandler(WebSocketClientHandshaker handshaker) { super(handshaker); }
public WebsocketProtostuffEncoder(WebSocketClientHandshaker handShaker) { this.handShaker = handShaker; }
public WebSocketClientHandshaker getHandShaker() { return handShaker; }
public WebsocketProtostuffDecoder(WebSocketClientHandshaker handShaker) { super(handShaker); this.handShaker = handShaker; }
public C5ConnectionInitializer(WebSocketClientHandshaker handShaker) { super(); this.handShaker = handShaker; }
public WebSocketClientHandler(WebSocketClientHandshaker handshaker) { this.handshaker = handshaker; }
Java WebSockets: The remote endpoint was in state [TEXT_FULL_WRITING]
java Websocket 多线程向同一个session写数据,容器为tomcat
目前发现的问题是tomcat的一个bug,解决方案是:
public void sendMessage(String message) throws IOException {
synchronized(this.session) {
this.session.getBasicRemote().sendText(message);
}
//this.session.getAsyncRemote().sendText(message);
}
使用synchronized和getBasicRemote,使用getAsyncRemote的话也会报错
https://stackoverflow.com/questions/22257079/java-websockets-the-remote-endpoint-was-in-state-text-full-writing
https://bz.apache.org/bugzilla/show_bug.cgi?id=56026
https://www.cnblogs.com/interdrp/p/4866129.html
http://blog.csdn.net/luoruixiaohai/article/details/50960319
https://stackoverflow.com/questions/33381420/tomcat-throws-the-remote-endpoint-was-in-state-binary-full-writing-when
今天关于javax.websocket.RemoteEndpoint的实例源码和java websocketclient的分享就到这里,希望大家有所收获,若想了解更多关于com.esotericsoftware.kryonet.EndPoint的实例源码、io.netty.handler.codec.http.websocketx.PongWebSocketFrame的实例源码、io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker的实例源码、Java WebSockets: The remote endpoint was in state [TEXT_FULL_WRITING]等相关知识,可以在本站进行查询。
本文标签: