예제 #1
0
        public TestNamedPipe()
        {
            CNamedPipeServer _namedPipeServer = new CNamedPipeServer(@"\\.\pipe\myNamedPipe1", @"\\.\pipe\myNamedPipe2", this);



            Thread.Sleep(1000000000);
        }
예제 #2
0
        public void Process()
        {
            try
            {
                _namedPipeServer = new CNamedPipeServer(@"\\.\pipe\myNamedPipe1", @"\\.\pipe\myNamedPipe2", this);


                StartExternalNativeConnector();

                _dealingServer.WaitInstrumentLoaded();

                var listInstrument = _dealingServer.GetInsruments();
                //  //tempo fofr debug
                //    List<string> listInstrument = new List<string> {"RTS-12.17",  "Si-12.17", "GAZR-12.17", "SBRF-12.17" };

                //tempo TODO normal
                if (listInstrument.Contains("USD000000TOD"))
                {
                    listInstrument.Remove("USD000000TOD");
                }

                if (listInstrument.Contains("USD000UTSTOM"))
                {
                    listInstrument.Remove("USD000UTSTOM");
                }


                InitInstruments(listInstrument);


                listInstrument.ForEach(instrument =>
                {
                    CP2StockReaderNative srn = new CP2StockReaderNative(_dealingServer, this);
                    long isinId = _dealingServer.GetIsinIdByInstrument(instrument);
                    srn.Process(instrument,
                                isinId
                                );
                    _listStocksReaders.Add(srn);
                    _dictStockRecieved[isinId] = false;
                });
            }
            catch (Exception e)
            {
                _dealingServer.Error("CP2ConnectorNative.Process", e);
            }
        }