加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

Socket技术,实现Http协议和游戏服务器协议(Java代码)

发布时间:2019-08-02 04:38:13 所属栏目:外闻 来源:今日头条
导读:副标题#e# 在网络技术中,前后端通讯是一个难点,也是一个服务器程序员必须攻克的技术瓶颈。在两台计算机要实现信息交互,就需要一种技术来说,而两台计算机网卡来实现,无非就是两种技术UDP和TCP,其中,两种技术由于不同的特性,使用在不同的地方,在一些

附上分包器的代码(java代码):

  1. public class EncodedMessage { 
  2.  public static int code=44434533; 
  3.  /* 
  4.  codeUnid 命令 
  5.  messageUnid 消息唯一码 
  6.  body 包体字节流 
  7.  */ 
  8.  public static byte[] encoded(int codeUnid,int messageUnid,byte[] body){ 
  9.  //44434533 / 包头(int)4+ 命令编号(shot)2 + 消息唯一编号(int)4 +内容长度(int)4+内容bytes / 
  10.  ByteBuffer buffer= ByteBuffer.allocate(14+body.length); 
  11.  buffer.putInt(code); 
  12.  short code=(short)codeUnid; 
  13.  buffer.putShort(code); 
  14.  buffer.putInt(messageUnid); 
  15.  buffer.putInt(body.length); 
  16.  buffer.put(body); 
  17.  return buffer.array(); 
  18.  } 
  19.  public static int byteArrayToInt(byte[] b) { 
  20.  return b[3] & 0xFF | (b[2] & 0xFF) << 8 | (b[1] & 0xFF) << 16 | (b[0] & 0xFF) << 24; 
  21.  } 
  22.  public static short bytesToShort(byte[] b) { 
  23.  return (short) (b[1] & 0xff | (b[0] & 0xff) << 8); 
  24.  } 

这一套通讯协议都是我在所以游戏服务器采用,服务器可以很好处理分包,不会出现连包情况。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读