📄 socketdatahelper.java
字号:
/**
* Created at Nov 20, 2008
*/
package com.jdev.net.data;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import com.jdev.net.protocol.ProtocolWrapFactory;
import com.jdev.net.queue.MessageQueue;
import com.jdev.net.queue.QueueFactory;
import com.jdev.util.Debug;
/**
* <p>Title: SocketDataHelper</p>
* <p>Description: </p>
* @author Lawrence
* @version 1.0
*/
public class SocketDataHelper {
private final static String module = SocketDataHelper.class.getName();
private final static ProtocolWrapFactory wrapFactory = ProtocolWrapFactory
.getInstance();
private final static QueueFactory queueFactory = QueueFactory.getInstance();
private int queueType;
/**
*
*/
public SocketDataHelper(int queueType) {
this.queueType = queueType;
}
public int getRequestCount() {
MessageQueue messageQueue = queueFactory.getQueue(queueType);
return messageQueue.getRequestRecord();
}
public int getResponseCount() {
MessageQueue messageQueue = queueFactory.getQueue(queueType);
return messageQueue.getResponseRecord();
}
/**
* 从Queue中取出Request 并实行协议包装
*/
public byte[] sendRequest() throws Exception {
byte[] request = null;
try {
MessageQueue messageQueue = queueFactory.getQueue(queueType);
ByteArrayOutputStream outByte = (ByteArrayOutputStream) messageQueue
.removeReqFirst();
request = wrapFactory.getRequest(outByte.toByteArray());
} catch (Exception ex) {
Debug.logError("sendRequest() error:" + ex, module);
throw new Exception(ex);
}
return request;
}
/**
* 将Request去除协议解码,正文内容保存到Queue中,
*/
public InputStream receiveRequest(byte[] array) throws Exception {
try {
MessageQueue messageQueue = queueFactory.getQueue(queueType);
byte[] content = wrapFactory.getContentFromRequest(array);
InputStream bin = new ByteArrayInputStream(content);
messageQueue.pushRequest(bin);
return bin;
} catch (Exception ex) {
Debug.logError("receiveRequest error:" + ex, module);
throw new Exception(ex);
}
}
/**
* 从Queue中取出Response 并实行协议包装
*/
public byte[] sendResponse() throws Exception {
byte[] response = null;
try {
MessageQueue messageQueue = queueFactory.getQueue(queueType);
ByteArrayOutputStream bout = (ByteArrayOutputStream) messageQueue
.removeResFirst();
response = wrapFactory.getResponse(bout.toByteArray());
} catch (Exception ex) {
Debug.logError("sendResponse() error:" + ex, module);
throw new Exception(ex);
}
return response;
}
/**
* 将Response去除协议解码,正文内容保存到Queue中,
* @param array
*/
public InputStream receiveResponse(byte[] array) throws Exception {
try {
MessageQueue messageQueue = queueFactory.getQueue(queueType);
byte[] response = wrapFactory.getContentFromResponse(array);
InputStream bin = new ByteArrayInputStream(response);
messageQueue.pushResponse(bin);
return bin;
} catch (Exception ex) {
Debug.logError("receiveResponse error:" + ex, module);
throw new Exception(ex);
}
}
/**
* 将Request去除协议解码,正文内容保存到Queue中,
* @param array
*/
public InputStream putRequest(byte[] array) throws Exception {
try {
MessageQueue messageQueue = queueFactory.getQueue(queueType);
byte[] res = wrapFactory.getContentFromRequest(array);
InputStream bin = new ByteArrayInputStream(res);
messageQueue.pushRequest(bin);
return bin;
} catch (Exception ex) {
Debug.logError("putRequest error:" + ex, module);
throw new Exception(ex);
}
}
/**
* 从Queue中取出Response 并实行协议包装
*/
public byte[] getRequest() throws Exception {
byte[] response = null;
try {
MessageQueue messageQueue = queueFactory.getQueue(queueType);
ByteArrayOutputStream bout = (ByteArrayOutputStream) messageQueue
.removeResFirst();
response = wrapFactory.getRequest(bout.toByteArray());
} catch (Exception ex) {
Debug.logError("getRequest() error:" + ex, module);
throw new Exception(ex);
}
return response;
}
/**
* 将Response去除协议解码,正文内容保存到Queue中,
* @param array
*/
public InputStream putResponse(byte[] array) throws Exception {
try {
MessageQueue messageQueue = queueFactory.getQueue(queueType);
byte[] res = wrapFactory.getContentFromResponse(array);
InputStream bin = new ByteArrayInputStream(res);
messageQueue.pushResponse(bin);
return bin;
} catch (Exception ex) {
Debug.logError("putResponse error:" + ex, module);
throw new Exception(ex);
}
}
/**
* 从Queue中取出Response 并实行协议包装
*/
public byte[] getResponse() throws Exception {
byte[] response = null;
try {
MessageQueue messageQueue = queueFactory.getQueue(queueType);
ByteArrayOutputStream bout = (ByteArrayOutputStream) messageQueue
.removeResFirst();
response = wrapFactory.getResponse(bout.toByteArray());
} catch (Exception ex) {
Debug.logError("getResponse() error:" + ex, module);
throw new Exception(ex);
}
return response;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -