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

📄 getinthread.java

📁 移动empp网关
💻 JAVA
字号:
package cn.madhouse.gateway.empp.service;

import java.util.concurrent.ConcurrentLinkedQueue;

import cn.madhouse.gateway.empp.msgformat.*;

public class GetInThread extends Thread {
	
	private MessageQueue msgQueue;
	private EmppSocket emppSocket;
	
	public GetInThread(MessageQueue msgQueue, EmppSocket emppSocket) {
		this.msgQueue = msgQueue;
		this.emppSocket = emppSocket;
	}
	
	@Override
	public void run() {
		ConcurrentLinkedQueue<SubmitResponse> mtResponseQueue = msgQueue.getMtResponseQueue();
		ConcurrentLinkedQueue<DeliverRequest> moRequestQueue = msgQueue.getMoRequestQueue();
		ConcurrentLinkedQueue<DeliverReport> reportQueue = msgQueue.getReportQueue();
		ConcurrentLinkedQueue<byte[]> otherQueue = msgQueue.getOtherQueue();
		
		while(true) {
			//System.out.println("getin");
			byte[] b = new byte[500];
			emppSocket.read(b);
			switch (Message.getCommandId(b)) {
				case 0 : break;
				case Message.EMPP_ACTIVE_TEST_RESP : System.out.println("active"); break;
				case Message.EMPP_DELIVER : {
					DeliverRequest moRequest = new DeliverRequest(b);
					int tag = moRequest.getRegisteredDelivery();
					if(tag == 0) {
						moRequestQueue.offer(moRequest);
						//System.out.println("moReq content = " + moRequest.getMsgContent());
					} else if(tag == 1) {
						DeliverReport report = new DeliverReport(b);
						System.out.println("report stat = " + report.getStat());
						reportQueue.offer(report);
					}
					break;
				}
				case Message.EMPP_SUBMIT_RESP : {
					SubmitResponse mtResponse = new SubmitResponse(b);
					mtResponseQueue.offer(mtResponse);
					System.out.println("mtResp result = " + mtResponse.getResult());
					break;
				}
				default : otherQueue.offer(b);
			}
		}
	}
}

⌨️ 快捷键说明

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