Exemplo n.º 1
0
 public StringPacket Communicate(StringPacket oPacket)
 {
     try
     {
         if (_socket.Connected)
         {
             // packet을 보낸다.
             NetworkStream stream = _socket.GetStream();
             Byte[] outData = Encoding.ASCII.GetBytes(oPacket.GetStream());
             stream.Write(outData, 0, outData.Length);
             int inCount = stream.Read(this._inData, 0, _maxPacketSize);
             String inData = System.Text.Encoding.ASCII.GetString(this._inData, 0, inCount);
             StringPacket outPacket = new StringPacket(inData);
             return outPacket;
         }
         else
         {
             //ERROR
         }
     }
     catch (System.Exception ex)
     {
         logger.Warn(ex.ToString());
     }
     return null;
 }
Exemplo n.º 2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        //172.27.105.133:8080/DataQuote.aspx?ticker=Kospi2 Index&fromDate=2000-01-01&toDate=2012-01-16
        String ticker = Request.Params["ticker"];
        String fromDate = Request.Params["fromDate"];
        String toDate = Request.Params["toDate"];
        String query = String.Format(
            "select * from raw_price_data where Ticker = '{0}' and datetime >= '{1}' and datetime <= '{2}' order by DateTime",
            ticker, fromDate, toDate);
        DataRowCollection rows = ServerLib.DBUtil.SelectFromDB(query, ServerLib.DBConst.kMarketDataDatabase);

        WriteHeader();

        for (int i = 0; i < rows.Count; ++i)
        {
            DataRow row = rows[i];
            //String ticker = Convert.ToString(row["Ticker"]);
            String dateTime = Convert.ToString(row["DateTime"]);
            String close = Convert.ToString(row["LastPrice"]);
            String open = Convert.ToString(row["Open"]);
            String high = Convert.ToString(row["High"]);
            String low = Convert.ToString(row["Low"]);
            StringPacket sp = new StringPacket("", ",");
            sp.Encode(ticker);
            sp.Encode(dateTime);
            sp.Encode(open);
            sp.Encode(high);
            sp.Encode(low);
            sp.Encode(close);
            Response.Write(String.Format("{0}<br>", sp.GetStream()));
        }
        Response.Write("*/"); // end signal
    }
Exemplo n.º 3
0
 public String GetKey(String ticker, String dataType, DateTime version, String currency)
 {
     StringPacket sp = new StringPacket("", kParserForKey);
     sp.Encode(ticker);
     sp.Encode(dataType);
     sp.Encode(version.ToString("yyyy-MM-dd"));
     sp.Encode(currency);
     return sp.GetStream();
 }
Exemplo n.º 4
0
 void WriteHeader()
 {
     Response.Write("/*"); // start signal
     StringPacket sp = new StringPacket("", ",");
     sp.Encode("Ticker");
     sp.Encode("DateTime");
     sp.Encode("Open");
     sp.Encode("High");
     sp.Encode("Low");
     sp.Encode("Close");
     Response.Write(String.Format("{0}<br>", sp.GetStream()));
 }
Exemplo n.º 5
0
        public Tuple<String, String, String, String> SplitKey(String key)
        {
            StringPacket sp = new StringPacket(key, kParserForKey);

            String ticker = sp.Decode();
            String dataType = sp.Decode();
            String version = sp.Decode();
            String currency = sp.Decode();

            return new Tuple<string, string, string, string>(ticker, dataType, version, currency);
        }
Exemplo n.º 6
0
 public void Encode(StringPacket packet)
 {
     _strPacket = _strPacket + packet._strPacket;
 }
Exemplo n.º 7
0
        public Boolean SendPacket(StringPacket packet)
        {
            String strPacket = packet.GetStream();

            try
            {
                if (_socket.Connected)
                {
                    // packet을 보낸다.
                    NetworkStream stream = _socket.GetStream();
                    Byte[] data = Encoding.ASCII.GetBytes(strPacket);

                    //TODO !!!
                    // 대용량 보내기 기능을 만들자.
                    stream.BeginWrite(data, 0, data.Length, TcpSessionAsync.WriteCallBack, this);
                    return true;
                }
                else
                {
                    //ERROR
                    logger.Warn("socket is closed.");
                    return false;
                }
            }
            catch (System.Exception ex)
            {
                logger.Warn(ex.ToString());
            }
            return false;
        }
Exemplo n.º 8
0
 public void Encode(StringPacket packet)
 {
     m_strPacket = m_strPacket + packet.m_strPacket;
 }