GVKun编程网logo

javax.websocket.RemoteEndpoint的实例源码(java websocketclient)

12

如果您想了解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)

javax.websocket.RemoteEndpoint的实例源码(java websocketclient)

项目:launcher-backend    文件:MissionControlStatusEndpoint.java   
@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);
    }
}
项目:cloud-language-servers-container    文件:LSPProcessManager.java   
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;
    }
项目:tomcat7    文件:PojoMessageHandlerBase.java   
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);
    }
}
项目:apache-tomcat-7.0.73-with-comment    文件:PojoMessageHandlerBase.java   
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);
    }
}
项目:lazycat    文件:PojoMessageHandlerBase.java   
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);
    }
}
项目:launchpad-missioncontrol    文件:MissionControlStatusEndpoint.java   
@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);
    }
}
项目:Gobang    文件:Room.java   
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) {
                    }
                }
            }
        }
    }
}
项目:amq-monitor    文件:MonitorWebsocketTest.java   
@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);
}
项目:ocelot    文件:CallServiceManagerTest.java   
/**
 * 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);
}
项目:ocelot    文件:TopicManagerImpltest.java   
/**
 * 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);
}
项目:ocelot    文件:TopicsMessagesbroadcasterTest.java   
/**
 * 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);
}
项目:hprose-java    文件:HproseWebSocketService.java   
@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);
        }
    });
}
项目:class-guard    文件:PojoMessageHandlerBase.java   
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);
    }
}
项目:apache-tomcat-7.0.57    文件:PojoMessageHandlerBase.java   
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);
    }
}
项目:websocket-classloader    文件:ClassLoaderEndpointTest.java   
@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);
}
项目:websocket    文件:java7Ws.java   
@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();
            }
        }
    });
}
项目:MMServerEngine    文件:Util.java   
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();
}
项目:Gobang    文件:Room.java   
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());
}
项目:aesh-readline    文件:Client.java   
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();
    }
}
项目:PearlHarbor    文件:WebSocketConnectionClasser.java   
@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");
}
项目:PearlHarbor    文件:WebSocketConnectionManager.java   
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);
        }
    }

}
项目:ocelot    文件:TopicManagerImpltest.java   
/**
 * 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);
}
项目:termd    文件:Client.java   
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();
  }
}
项目:nextrtc-signaling-server    文件:DefaultMessageSender.java   
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);
    }
}
项目:nextrtc-signaling-server    文件:BaseTest.java   
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;
}
项目:nextrtc-signaling-server    文件:BaseTest.java   
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);
    }
}
项目:nextrtc-signaling-server    文件:TestClientActor.java   
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;
}
项目:nextrtc-signaling-server    文件:TestClientActor.java   
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);
    }
}
项目:activiti-websockets    文件:ActivitiProcessEventsWebsocketbroadcaster.java   
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);
    }
}
项目:dagger    文件:WebSocketResponseTest.java   
@Before
public void setUp() {
    session = mock(Session.class);
    basicRemote = mock(RemoteEndpoint.Basic.class);

    when(session.getBasicRemote()).thenReturn(basicRemote);

    response = new WebSocketResponse(session);
}
项目:cloud-language-servers-container    文件:LSPProcessManager.java   
OutputStreamHandler(RemoteEndpoint.Basic remoteEndpointBasic,InputStream out) {
    this.remote = remoteEndpointBasic;
    this.out = out;
}
项目:tomcat7    文件:WsSession.java   
@Override
public RemoteEndpoint.Async getAsyncRemote() {
    checkState();
    return remoteEndpointAsync;
}
项目:tomcat7    文件:WsSession.java   
@Override
public RemoteEndpoint.Basic getBasicRemote() {
    checkState();
    return remoteEndpointBasic;
}
项目:apache-tomcat-7.0.73-with-comment    文件:EchoEndpoint.java   
@Override
public void onopen(Session session,EndpointConfig endpointConfig) {
    RemoteEndpoint.Basic remoteEndpointBasic = session.getBasicRemote();
    session.addMessageHandler(new EchoMessageHandlerText(remoteEndpointBasic));
    session.addMessageHandler(new EchoMessageHandlerBinary(remoteEndpointBasic));
}
项目:apache-tomcat-7.0.73-with-comment    文件:EchoEndpoint.java   
private EchoMessageHandlerText(RemoteEndpoint.Basic remoteEndpointBasic) {
    this.remoteEndpointBasic = remoteEndpointBasic;
}
项目:apache-tomcat-7.0.73-with-comment    文件:EchoEndpoint.java   
private EchoMessageHandlerBinary(RemoteEndpoint.Basic remoteEndpointBasic) {
    this.remoteEndpointBasic = remoteEndpointBasic;
}
项目:apache-tomcat-7.0.73-with-comment    文件:WsSession.java   
@Override
public RemoteEndpoint.Async getAsyncRemote() {
    checkState();
    return remoteEndpointAsync;
}
项目:apache-tomcat-7.0.73-with-comment    文件:WsSession.java   
@Override
public RemoteEndpoint.Basic getBasicRemote() {
    checkState();
    return remoteEndpointBasic;
}

com.esotericsoftware.kryonet.EndPoint的实例源码

com.esotericsoftware.kryonet.EndPoint的实例源码

项目:MMO-Rulemasters-World    文件:Network.java   
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);
}
项目:ChainReactionClone    文件:Networking.java   
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);
}
项目:the-erder    文件:TListener.java   
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);


}
项目:the-erder    文件:LoginClientListener.java   
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!");
}
项目:AudioRacer    文件:PlayerNetwork.java   
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);
}
项目:Tower-Defense-galaxy    文件:Networking.java   
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);
}
项目:chatterino    文件:NetworkShared.java   
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);
}
项目:rpc-bench    文件:Network.java   
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);
}
项目:Mach3Pendant    文件:Network.java   
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);
}
项目:TinyTank    文件:NetworkRegister.java   
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);
}
项目:TinyTank    文件:NetworkRegister.java   
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);
}
项目:MMO-Rulemasters-World    文件:HubNetwork.java   
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);
}
项目:Projet2015    文件:ClassRegisterer.java   
/**
 * 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);
}
项目:kingdom    文件:KingdomNetwork.java   
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);
}
项目:kingdom    文件:Network.java   
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);
}
项目:kingdom    文件:Network.java   
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);
}
项目:kingdom    文件:Network.java   
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);
}
项目:the-erder    文件:ServerListener.java   
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,"Начинаем принимать пакеты.");
}
项目:the-erder    文件:SPListener.java   
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);

}
项目:the-erder    文件:RegListener.java   
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);
}
项目:ahs-invaders    文件:KryoCommon.java   
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);
}
项目:kryonet-common    文件:KryonetUtility.java   
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);
}
项目:kryonet    文件:Network.java   
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);
}
项目:kryonet    文件:Network.java   
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);
}
项目:kryonet    文件:Network.java   
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);
}
项目:ChatProgram    文件:Network.java   
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);
}
项目:Conquest    文件:Network.java   
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);
}
项目:AudioRacer    文件:WorldNetwork.java   
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);
}
项目:mindroid    文件:BrickServerImpl.java   
@Override
public void registerMessages(EndPoint kryo) {
    MessageRegistrar.register(kryo);
}
项目:mindroid    文件:MessageRegistrar.java   
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);
}
项目:javatrove    文件:ChatUtil.java   
public static void registerClasses(EndPoint endPoint) {
    Kryo kryo = endPoint.getKryo();
    kryo.register(Command.class);
    kryo.register(Command.Type.class);
}
项目:Buildstation-3    文件:ListenerList.java   
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());
}
项目:killingspree    文件:NetworkRegisterer.java   
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);
}
项目:fellesprosjekt    文件:Network.java   
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);
}
项目:zesp2013    文件:Network.java   
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");
}
项目:TDA367    文件:Network.java   
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);
}
项目:the-erder    文件:TListener.java   
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);

}
项目:the-erder    文件:ClientListener.java   
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!");
}
项目:kryonet-common    文件:KryonetUtility.java   
public static void registerClass(EndPoint endpoint,Class type) {
    endpoint.getKryo().register(type);
}
项目:shadow-engine    文件:KryoNetStream.java   
/**
 * 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的实例源码

io.netty.handler.codec.http.websocketx.PongWebSocketFrame的实例源码

项目:java_learn    文件:WebSocketServerHandler.java   
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);
}
项目:megaphone    文件:WebSocketHandler.java   
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);
            }
        }
    }
}
项目:reactor-netty    文件:HttpServerWSOperations.java   
@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);
}
项目:zbus    文件:MessageCodec.java   
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;
}
项目:JavaAyo    文件:WebSocketServerHandler.java   
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;
        }
    }
项目:spring-cloud-stream-app-starters    文件:WebsocketSinkServerHandler.java   
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);
}
项目:snotel    文件:NettyFirehoSEOnSubscribe.java   
@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);
    }
}
项目:netty4.0.27Learn    文件:WebSocketServerHandler.java   
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()));
    }
项目:netty4.0.27Learn    文件:WebSocketServerHandler.java   
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;
        }
    }
项目:netty4.0.27Learn    文件:AutobahnServerHandler.java   
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()));
    }
}
项目:lambdatra    文件:WsAdapter.java   
@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()));
}
项目:brent-pusher    文件:NettyPusherServer.java   
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;
    }

}
项目:netty-rest    文件:WebSocketService.java   
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);
}
项目:netty-study    文件:WebSocketServerHandler.java   
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()));

    }
项目:carbon-transports    文件:WebSocketSourceHandler.java   
@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);
    }
}
项目:netty4study    文件:AutobahnServerHandler.java   
private void handleWebSocketFrame(ChannelHandlerContext ctx,frame.getClass()
                .getName()));
    }
}
项目:netty4study    文件:WebSocketServerHandler.java   
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()));
    }
项目:netty4study    文件:WebSocketSslServerHandler.java   
private void handleWebSocketFrame(ChannelHandlerContext ctx,request));
        }
        ctx.channel().write(new TextWebSocketFrame(request.toupperCase()));
    }
项目:modules-extra    文件:WebSocketRequestHandler.java   
@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();
    }
}
项目:Surf    文件:HttpServerHandler.java   
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()));
}
项目:netty-netty-5.0.0.Alpha1    文件:WebSocketServerHandler.java   
private void handleWebSocketFrame(ChannelHandlerContext ctx,request));
        }
        ctx.channel().write(new TextWebSocketFrame(request.toupperCase()));
    }
项目:netty-netty-5.0.0.Alpha1    文件:WebSocketSslServerHandler.java   
private void handleWebSocketFrame(ChannelHandlerContext ctx,request));
        }
        ctx.channel().write(new TextWebSocketFrame(request.toupperCase()));
    }
项目:netty-netty-5.0.0.Alpha1    文件:AutobahnServerHandler.java   
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()));
    }
}
项目:laputa    文件:LaputaServerHandler.java   
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());
  }
}
项目:top-traffic    文件:WebSocketServerHandler.java   
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()));
        }
}
项目:socketio    文件:WebSocketHandler.java   
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());
  }
}
项目:qonduit    文件:WebSocketIT.java   
@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());
    }
}
项目:SurvivalMMO    文件:WebSocketClientHandler.java   
@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();
        }
    }
}
项目:timely    文件:WebSocketIT.java   
@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());
    }
}
项目:LiteGraph    文件:WebSocketClientHandler.java   
@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();

}
项目:xockets.io    文件:WebSocketClientHandler.java   
@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();
    }
}
项目:JavaAyo    文件:WebSocketClientHandler.java   
@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();
    }
}
项目:khs-stockticker    文件:StockTickerServerHandler.java   
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;
   }
}
项目:netty-book    文件:WebSocketServerHandler.java   
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()));
   }
项目:netty4.0.27Learn    文件:WebSocketClientHandler.java   
@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();
    }
}
项目:msf4j    文件:WebSocketClientHandler.java   
@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();
    }
}
项目:carbon-transports    文件:WebSocketSourceHandler.java   
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);
}
项目:carbon-transports    文件:WebSocketTargetHandler.java   
@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");
    }
}
项目:carbon-transports    文件:WebSocketTargetHandler.java   
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);
}
项目:activemq-artemis    文件:WebSocketServerHandler.java   
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的实例源码

io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker的实例源码

项目:AudioConnect    文件:AudioConnectClient.java   
@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));
}
项目:qonduit    文件:WebSocketIT.java   
@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");
    }
}
项目:timely    文件:WebSocketIT.java   
@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");
    }
}
项目:carbon-transports    文件:WebSocketTargetHandler.java   
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;
}
项目:SynchronizefX    文件:WebsocketChannelInitializer.java   
@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());
}
项目:wecard-server    文件:WebSocketClientHandler.java   
public WebSocketClientHandler(long uid,WebSocketClientHandshaker handshaker) {
    this.uid = uid;
    this.handshaker = handshaker;
}
项目:qonduit    文件:WebSocketIT.java   
public ClientHandler(WebSocketClientHandshaker handshaker) {
    this.handshaker = handshaker;
}
项目:AudioConnect    文件:AudioConnectClient.java   
private AudioConnectClientHandler(WebSocketClientHandshaker handshaker) {
    this.handshaker = handshaker;
}
项目:timely    文件:WebSocketIT.java   
public ClientHandler(WebSocketClientHandshaker handshaker) {
    this.handshaker = handshaker;
}
项目:StreamingData-Book-Examples    文件:MeetupWebSocketClientHandler.java   
MeetupWebSocketClientHandler(WebSocketClientHandshaker handshaker,RSVPProducer rsvpProducer) {
    this.handshaker = handshaker;
    this.rsvpProducer = rsvpProducer;
}
项目:LiteGraph    文件:WebSocketClientHandler.java   
public WebSocketClientHandler(final WebSocketClientHandshaker handshaker) {
    this.handshaker = handshaker;
}
项目:product-ei    文件:WebSocketClientHandler.java   
public WebSocketClientHandler(WebSocketClientHandshaker handshaker,CountDownLatch latch) {
    this.handshaker = handshaker;
    this.latch = latch;
    this.isOpen = true;
}
项目:xockets.io    文件:NettyTestClient.java   
@Override
public void onopen(WebSocketClientHandshaker handShaker) {
    // Todo Auto-generated method stub

}
项目:xockets.io    文件:AbstractClient.java   
@Override
public void onopen(WebSocketClientHandshaker handShaker) {
    logger.log(Level.INFO,"onopen");
}
项目:xockets.io    文件:WebSocketClientHandler.java   
public WebSocketClientHandler(WebSocketClientHandshaker handshaker) {
    this.handshaker = handshaker;
}
项目:JavaAyo    文件:WebSocketClientHandler.java   
public WebSocketClientHandler(WebSocketClientHandshaker handshaker) {
    this.handshaker = handshaker;
}
项目:iofabric    文件:MessageReceiverWebSocketClientHandler.java   
public MessageReceiverWebSocketClientHandler(WebSocketClientHandshaker handshaker) {
    this.handshaker = handshaker;
}
项目:iofabric    文件:MessageSenderWebSocketClientHandler.java   
public MessageSenderWebSocketClientHandler(WebSocketClientHandshaker handshaker,String id) {
    this.handshaker = handshaker;
    publisherId = id;
}
项目:iofabric    文件:WebSocketClientHandlerControl.java   
public WebSocketClientHandlerControl(WebSocketClientHandshaker handshaker) {
    this.handshaker = handshaker;
}
项目:snotel    文件:NettyFirehoSEOnSubscribe.java   
public WebSocketClientHandler(WebSocketClientHandshaker handshaker) {
    this.handshaker = handshaker;
}
项目:netty4.0.27Learn    文件:WebSocketClientHandler.java   
public WebSocketClientHandler(WebSocketClientHandshaker handshaker) {
    this.handshaker = handshaker;
}
项目:bitso-java    文件:BitsoWebSocket.java   
public WebSocketClientHandler(WebSocketClientHandshaker handshaker) {
    mHandshaker = handshaker;
}
项目:msf4j    文件:WebSocketClientHandler.java   
public WebSocketClientHandler(WebSocketClientHandshaker handshaker) {
    this.handshaker = handshaker;
}
项目:dslink-java-android    文件:AndroidWsProvider.java   
@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();
}
项目:dslink-java-android    文件:AndroidWsProvider.java   
public WebSocketHandler(WebSocketClientHandshaker handshake,WsClient client) {
    this.handshake = handshake;
    this.client = client;
}
项目:idea-websocket-client    文件:WebSocketClient.java   
@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);
  }
}
项目:idea-websocket-client    文件:WebSocketClientHandler.java   
public WebSocketClientHandler(WebSocketClientHandshaker handshaker) {
  this.handshaker = handshaker;
  this.eventBus = EventBusService.getInstance();
}
项目:carbon-transports    文件:WebSocketClientHandler.java   
public WebSocketClientHandler(WebSocketClientHandshaker handshaker,CountDownLatch latch) {
    this.handshaker = handshaker;
    this.latch = latch;
    this.isOpen = true;
}
项目:blynk-server    文件:WebSocketClientHandler.java   
public WebSocketClientHandler(WebSocketClientHandshaker handshaker) {
    this.handshaker = handshaker;
}
项目:tinkerpop    文件:WebSocketClientHandler.java   
public WebSocketClientHandler(final WebSocketClientHandshaker handshaker) {
    this.handshaker = handshaker;
}
项目:netty4study    文件:WebSocketClientHandler.java   
public WebSocketClientHandler(WebSocketClientHandshaker handshaker) {
    this.handshaker = handshaker;
}
项目:kurento-java    文件:AbstractJsonRpcWebSocketClientHandler.java   
public AbstractJsonRpcWebSocketClientHandler(WebSocketClientHandshaker handshaker) {
  this.handshaker = handshaker;
}
项目:kurento-java    文件:JsonRpcclientNettyWebSocket.java   
public JsonRpcWebSocketClientHandler(WebSocketClientHandshaker handshaker) {
  super(handshaker);
}
项目:c5    文件:WebsocketProtostuffEncoder.java   
public WebsocketProtostuffEncoder(WebSocketClientHandshaker handShaker) {
  this.handShaker = handShaker;
}
项目:c5    文件:WebsocketProtostuffEncoder.java   
public WebSocketClientHandshaker getHandShaker() {
  return handShaker;
}
项目:c5    文件:WebsocketProtostuffDecoder.java   
public WebsocketProtostuffDecoder(WebSocketClientHandshaker handShaker) {
  super(handShaker);
  this.handShaker = handShaker;
}
项目:c5    文件:C5ConnectionInitializer.java   
public C5ConnectionInitializer(WebSocketClientHandshaker handShaker) {
  super();
  this.handShaker = handShaker;
}
项目:netty-netty-5.0.0.Alpha1    文件:WebSocketClientHandler.java   
public WebSocketClientHandler(WebSocketClientHandshaker handshaker) {
    this.handshaker = handshaker;
}

Java WebSockets: The remote endpoint was in state [TEXT_FULL_WRITING]

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]等相关知识,可以在本站进行查询。

本文标签: