⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 attachment.java

📁 一个MMORPG手机游戏的服务器端程序源代码
💻 JAVA
字号:
package zsw_mmorpg.common;import java.nio.ByteBuffer;import java.nio.BufferUnderflowException;import java.nio.ByteOrder;import org.apache.log4j.Logger;/** * Attachment.java * * 缓存 * * @author <a href="mailto:shiwei@raymobile.com">朱世伟</a> * @version 1.0 *//**缓存*/public class Attachment {    public static final int HEADER_SIZE = 12;    private static Logger log = Logger.getLogger("Attachment");    int clientId;    int payloadSize;    public int gameNameHash;    private boolean gotHeader;    public ByteBuffer readBuff;     public byte payload[];    public Attachment (){	payload = new byte[Globals.MAX_EVENT_SIZE];	readBuff = ByteBuffer.allocate(Globals.NET_BUFFER_SIZE);    readBuff.order(ByteOrder.LITTLE_ENDIAN);    }    public boolean eventReady() throws IllegalArgumentException {	if (checkHeader() && checkPayload())	    return true;	else	    return false;    }    public void reset() {	gotHeader = false;    }    private boolean checkHeader() throws IllegalArgumentException {	if (gotHeader) return true;	if (readBuff.remaining() >= HEADER_SIZE) {	    // read the header info//	    clientId = readBuff.getInt();     //没用//	    gameNameHash = readBuff.getInt();//没用	    payloadSize = readBuff.getInt();	    // check bounds on the payload	    if (payloadSize > Globals.MAX_EVENT_SIZE) 		throw new IllegalArgumentException("Header specifies payload size (" + 						   payloadSize + ") greater than MAX_EVENT_SIZE(" + 						   Globals.MAX_EVENT_SIZE + ")");	    gotHeader = true;	    return true;	}	else {	    return false;	}    }    private boolean checkPayload() {	if (readBuff.remaining() >= payloadSize) { 	    try {  		readBuff.get(payload, 0, payloadSize); 	    } 	    catch (BufferUnderflowException bue) { 		log.error("buffer underflow", bue); 	    }	    return true;	}	else {	    return false;	}    }}// Attachment

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -