📄 receivethread.java
字号:
// NMI's Java Code Viewer 6.0a
// www.trinnion.com/javacodeviewer
// Registered to Evaluation Copy
// Generated PGFZKD AyTB 14 2007 15:44:19
//source File Name: ReceiveThread.java
package gnnt.MEBS.HQApplet;
import gnnt.MEBS.hq.*;
import gnnt.util.service.HQVO.*;
import java.awt.Component;
import java.io.*;
import java.net.Socket;
import java.util.Hashtable;
import java.util.Vector;
// Referenced classes of package gnnt.MEBS.HQApplet:
// HQApplet, SendThread, ProductData, Page_MultiQuote,
// Packet_MultiQuote, Page_MarketStatus, Packet_MarketStatus, Common,
// CodeTable
public class ReceiveThread extends Thread {
HQApplet m_applet;
public ReceiveThread(HQApplet applet) {
m_applet = applet;
}
public void run() {
DataInputStream reader = null;
while(m_applet != null && m_applet.bRunning) {
if(m_applet.socket == null) {
reader = null;
try {
Thread.sleep(500L);
}
catch(InterruptedException interruptedexception) { }
continue;
}
try {
if(reader == null)
reader = new DataInputStream(new BufferedInputStream(m_applet.socket.getInputStream()));
byte cmd = reader.readByte();
switch(cmd) {
case 0: // '\0'
break;
case 7: // '\007'
HQApplet _tmp = m_applet;
if(HQApplet.bDebug != 0)
System.out.println("Receive cmd: " + cmd + " \u5E02\u573A\u65E5\u671F");
int date = reader.readInt();
int time = reader.readInt();
int oldDate = m_applet.m_iDate;
int oldTime = m_applet.m_iTime;
if(m_applet.m_iDate == 0 || date != oldDate) {
m_applet.m_iDate = date;
m_applet.vProductData.removeAllElements();
}
m_applet.m_iTime = time;
m_applet.repaintBottom();
HQApplet _tmp1 = m_applet;
if(HQApplet.bDebug != 0)
System.out.println("Date:" + m_applet.m_iDate + " " + time);
if(oldDate != m_applet.m_iDate || oldTime != m_applet.m_iTime)
m_applet.repaint();
break;
case 6: // '\006'
HQApplet _tmp2 = m_applet;
if(HQApplet.bDebug != 0)
System.out.println("Receive cmd: " + cmd + " \u4EA4\u6613\u8282\u65F6\u95F4");
m_applet.m_timeRange = CMDTradeTimeVO.getObj(reader);
break;
case 1: // '\001'
HQApplet _tmp3 = m_applet;
if(HQApplet.bDebug != 0)
System.out.println("Receive cmd: " + cmd + " \u66F4\u65B0\u7801\u8868");
ReceiveCodeTable(reader);
break;
case 2: // '\002'
HQApplet _tmp4 = m_applet;
if(HQApplet.bDebug != 0)
System.out.println("Receive cmd: " + cmd + " \u4E2A\u80A1\u884C\u60C5");
ReceiveStockQuote(reader);
break;
case 3: // '\003'
HQApplet _tmp5 = m_applet;
if(HQApplet.bDebug != 0)
System.out.println("Receive cmd: " + cmd + " \u62A5\u4EF7\u6392\u540D");
ReceiveClassSort(reader);
break;
case 8: // '\b'
HQApplet _tmp6 = m_applet;
if(HQApplet.bDebug != 0)
System.out.println("Receive cmd: " + cmd + " \u7EFC\u5408\u6392\u540D");
ReceiveMarketSort(reader);
break;
case 5: // '\005'
HQApplet _tmp7 = m_applet;
if(HQApplet.bDebug != 0)
System.out.println("Receive cmd: " + cmd + " \u6210\u4EA4\u660E\u7EC6");
ReceiveBillData(reader);
break;
case 4: // '\004'
HQApplet _tmp8 = m_applet;
if(HQApplet.bDebug != 0)
System.out.println("Receive cmd: " + cmd + " \u5206\u65F6\u6570\u636E");
ReceiveMinLineData(reader);
break;
case 10: // '\n'
m_applet.m_iMinLineInterval = reader.readInt();
HQApplet _tmp9 = m_applet;
if(HQApplet.bDebug != 0)
System.out.println("Receive cmd: " + cmd + " \u5206\u65F6\u95F4\u9694:" + m_applet.m_iMinLineInterval);
if(m_applet.m_iMinLineInterval <= 0 || m_applet.m_iMinLineInterval > 60)
m_applet.m_iMinLineInterval = 60;
break;
case 9: // '\t'
default:
HQApplet _tmp10 = m_applet;
if(HQApplet.bDebug != 0)
System.out.println("Receive cmd: " + cmd + " \u975E\u6CD5\u6570\u636E");
m_applet.socket.close();
m_applet.socket = null;
m_applet.sendThread.AskForData(null);
break;
}
continue;
}
catch(EOFException e) {
label0:
{
if(m_applet != null) {
HQApplet _tmp11 = m_applet;
if(HQApplet.bDebug == 0)
break label0;
}
e.printStackTrace();
}
try {
if(m_applet.socket != null)
m_applet.socket.close();
m_applet.socket = null;
}
catch(Exception exception) { }
if(m_applet != null && m_applet.bRunning)
m_applet.sendThread.AskForData(null);
continue;
}
catch(Exception e) {
label1:
{
if(m_applet != null) {
HQApplet _tmp12 = m_applet;
if(HQApplet.bDebug == 0)
break label1;
}
System.out.println("Socket error ");
e.printStackTrace();
}
if(m_applet != null && m_applet.bRunning) {
m_applet.socket = null;
m_applet.sendThread.AskForData(null);
}
}
}
System.out.println("ReceiveThread Exit !");
}
private void ReceiveStockQuote(DataInputStream reader) throws IOException {
ProductDataVO data[] = CMDQuoteVO.getObj(reader);
String sCode = "";
for(int i = 0; i < data.length; i++) {
sCode = data[i].code;
ProductData stock = m_applet.GetProductData(sCode);
if(stock == null) {
if(m_applet.vProductData.size() > 50)
m_applet.vProductData.removeElementAt(50);
stock = new ProductData();
stock.sCode = sCode;
stock.realData = data[i];
m_applet.vProductData.insertElementAt(stock, 0);
} else {
stock.realData = data[i];
}
}
if(data.length > 0 && (2 == m_applet.iCurrentPage || 1 == m_applet.iCurrentPage) && m_applet.strCurrentCode.equals(sCode))
m_applet.repaint();
if(data.length > 0 && m_applet.m_bShowIndexAtBottom == 1 && m_applet.indexMainCode.length() > 0 && data[0].code.equalsIgnoreCase(m_applet.indexMainCode))
m_applet.repaintBottom();
}
private void ReceiveClassSort(DataInputStream reader) throws IOException {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -