下面列出了javax.websocket.Session#setMaxBinaryMessageBufferSize ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public void update(Session session) {
session.setMaxIdleTimeout(getIdleTimeout() * 1000);
if (!idleTimerLogged) {
idleTimerLogged = true;
log.info("{} = {} seconds", IDLE_TIMEOUT, session.getMaxIdleTimeout() / 1000);
}
// adjust web socket buffer size
int originalTextSize = session.getMaxTextMessageBufferSize();
int originalBinarySize = session.getMaxBinaryMessageBufferSize();
if (originalTextSize != getTextSize()) {
session.setMaxTextMessageBufferSize(getTextSize());
if (!textSizeLogged) {
textSizeLogged = true;
log.warn("{} changed from {} to {}", TEXT_SIZE, originalTextSize, session.getMaxTextMessageBufferSize());
}
}
if (originalBinarySize != getBinarySize()) {
session.setMaxBinaryMessageBufferSize(getBinarySize());
if (!binarySizeLogged) {
binarySizeLogged = true;
log.warn("{} changed from {} to {}", BINARY_SIZE, originalBinarySize, session.getMaxBinaryMessageBufferSize());
}
}
}
/**
* @Override onOpen websocket connect
*
* @param Session
* @param EndpointConfig
*/
@Override
public void onOpen(Session session, EndpointConfig config) {
session.setMaxBinaryMessageBufferSize(8388608);
session.setMaxTextMessageBufferSize(8388608);
MessageHandler handler = new MessageHandler.Whole<String>() {
@Override
public void onMessage(String text) {
try {
onMessageHandler(text, session);
} catch (Exception e) {
_log.error(e);
}
}
};
session.addMessageHandler(handler);
}
@Override
public void onOpen(Session session, EndpointConfig ec) {
// If the client instance is disposed, then immediately close all opened Sessions
if(LibertyClientInstance.getInstance().isDisposed()) {
log.interesting("Ignoring onOpen on an endpoint with a closed LibertyClientInstance", clientState.getLogContext());
try { session.close(); } catch (IOException e) { /*ignore*/ }
return;
}
log.interesting("Websocket session "+session.getId()+" opened with client instance "+LibertyClientInstance.getInstance().getUuid(),
clientState.getLogContext());
session.setMaxBinaryMessageBufferSize(128 * 1024);
session.addMessageHandler(new BinaryMessageHandler(this, session, sessionWrapper));
// session.addMessageHandler(new StringMessageHandler(this, session));
sessionWrapper.newSession(session);
ResourceLifecycleUtil.getInstance().addNewSession(ClientUtil.convertSessionToManagedResource(session));
LibertyClientInstance.getInstance().add(session);
}
@OnOpen
public void onOpen(@PathParam("roundId") String roundId, Session session) {
log(roundId, "Opened a session");
session.setMaxTextMessageBufferSize(1000);
session.setMaxBinaryMessageBufferSize(1000);
session.setMaxIdleTimeout(90 * 1000);
timerContext = GameMetrics.timerStart(GameMetrics.openWebsocketTimerMetadata);
}