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

📄 receivethread.java

📁 java 写的股票技术分析;软件
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
// 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 + -