阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

老司机
查看: 1585|回复: 0

[java] tcp协议

[复制链接]

该用户从未签到

发表于 2017-3-30 15:28:17 | 显示全部楼层 |阅读模式
package websocket.echo;

import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import org.apache.catalina.websocket.MessageInbound;
import org.apache.catalina.websocket.StreamInbound;
import org.apache.catalina.websocket.WebSocketServlet;
import org.apache.catalina.websocket.WsOutbound;

public class EchoMessage extends WebSocketServlet
{
  private static final long serialVersionUID = 1L;
  private volatile int byteBufSize;
  private volatile int charBufSize;

  public void init()
    throws ServletException
  {
    super.init();
    this.byteBufSize = getInitParameterIntValue("byteBufferMaxSize", 2097152);
    this.charBufSize = getInitParameterIntValue("charBufferMaxSize", 2097152);
  }

  public int getInitParameterIntValue(String name, int defaultValue) {
    String val = getInitParameter(name);
    int result;
    if (null != val)
      try {
        result = Integer.parseInt(val);
      } catch (Exception x) {
        int result = defaultValue;
      }
    else {
      result = defaultValue;
    }

    return result;
  }

  protected StreamInbound createWebSocketInbound(String subProtocol, HttpServletRequest request)
  {
    return new EchoMessageInbound(this.byteBufSize, this.charBufSize);
  }

  private static final class EchoMessageInbound extends MessageInbound
  {
    public EchoMessageInbound(int byteBufferMaxSize, int charBufferMaxSize)
    {
      setByteBufferMaxSize(byteBufferMaxSize);
      setCharBufferMaxSize(charBufferMaxSize);
    }

    protected void onBinaryMessage(ByteBuffer message) throws IOException
    {
      getWsOutbound().writeBinaryMessage(message);
    }

    protected void onTextMessage(CharBuffer message) throws IOException
    {
      getWsOutbound().writeTextMessage(message);
    }
  }
}

楼主热帖
启用邀请码注册,提高发帖质量,建设交流社区
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表