Beispiel #1
0
        public ActionResult Index(string id)
        {
            TcpModule module  = ModuleManager.ModuleManager.Current.GetModule(id) as TcpModule;
            Socket    handler = module.socket;

            string value = "";

            byte[] message = Encoding.ASCII.GetBytes("get<EOF>");
            byte[] bytes   = new byte[256];
            try
            {
                handler.Send(message, message.Length, SocketFlags.None);
                int received = handler.Receive(bytes, handler.Available, SocketFlags.None);
                if (received > 0)
                {
                    value = Encoding.ASCII.GetString(bytes);
                }
            }
            catch (Exception ex)
            {
                value = ex.ToString();
            }

            ViewBag.Received = "value: " + value;
            return(View());
        }
Beispiel #2
0
 private void SendReqest(ProtocolOfExchange req, NetworkTransferObjects obj, TcpModule tcp)
 {
     if (m_IsConnectedToServer || req == ProtocolOfExchange.CheckConnection)
     {
         // m_tcpModule.Receive += Tcp_Receive;
         tcp.SendData(obj, req);
     }
 }
Beispiel #3
0
 private void ConnectToServer()
 {
     if (!m_IsConnectedToServer)
     {
         m_tcpModule               = new DataBase.TcpModule(false);
         m_tcpModule.Connected    += Tcp_Connected;
         m_tcpModule.Receive      += Tcp_Receive;
         m_tcpModule.Disconnected += M_tcpModule_Disconnected;
         m_tcpModule.Accept       += M_tcpModule_Accept;
         m_tcpModule.ConnectClient(m_ServerIP, 15000);
     }
 }
Beispiel #4
0
        static void Main(string[] args)
        {
            _tcpMod               = new DataBase.TcpModule(true);
            _tcpMod.Receive      += _tcpMod_Receive;
            _tcpMod.Accept       += _tcpMod_Accept;
            _tcpMod.Connected    += _tcpMod_Connected;
            _tcpMod.Disconnected += _tcpMod_Disconnected;
            _tcpMod.StartServer(15000);
            m_DbCollection = (DataBasesCollection)Functions.LoadConfig("DataBase.qrdb");
            if (m_DbCollection == null)
            {
                m_DbCollection = new DataBasesCollection();
            }



            Console.Read();
        }
Beispiel #5
0
        public Sender(IPv4 localAddress,
                      ushort localPort,
                      IPv4 remoteAddress,
                      ushort remotePort,
                      int maxSendPackets)
        {
            Core      c = Core.Instance();
            TcpModule m = c.GetProtocolByName("TCP") as TcpModule;

            this.session = (TcpSession)m.CreateSession();
            this.session.Connect(localAddress, localPort,
                                 remoteAddress, remotePort);

            this.maxSendPackets = maxSendPackets;
            this.sentPackets    = 0;

            this.worker = new Thread(new ThreadStart(WorkLoop));
            this.worker.Start();
        }
Beispiel #6
0
        public Receiver(IPv4 localAddress,
                        ushort localPort,
                        int maxReceivePackets)
        {
            Core      c = Core.Instance();
            TcpModule m = c.GetProtocolByName("TCP") as TcpModule;

            this.maxReceivePackets = maxReceivePackets;
            this.receivedPackets   = 0;

            this.listener = (TcpSession)m.CreateSession();
            if (this.listener.Listen(localAddress, localPort) == false)
            {
                Console.WriteLine("TcpSession.Listen() failed.");
            }

            this.worker = new Thread(new ThreadStart(WorkLoop));
            this.worker.Start();
        }
Beispiel #7
0
        private static void _tcpMod_Receive(object sender, DataBase.ReceiveEventArgs e)
        {
            TcpModule tcp = (TcpModule)sender;

            if (e.SendInfo.ProtocolMsg == ProtocolOfExchange.CheckConnection)
            {
                Thread.Sleep(10);
                tcp.SendData(null, ProtocolOfExchange.CheckConnectionOK);
            }
            if (e.SendInfo.ProtocolMsg == ProtocolOfExchange.AskDictionary)
            {
                Dictionary di = new Dictionary();
                di.ReadFromIni();
                NetworkTransferObjects obj = new NetworkTransferObjects();
                obj.Dictionary = di;
                Thread.Sleep(10);
                tcp.SendData(obj, ProtocolOfExchange.AskDictionaryOk);
            }
            if (e.SendInfo.ProtocolMsg == ProtocolOfExchange.AskDbCollection)
            {
                NetworkTransferObjects obj = new NetworkTransferObjects();
                obj.DataBaseCollection = m_DbCollection;
                Thread.Sleep(10);
                tcp.SendData(obj, ProtocolOfExchange.AskDbCollectionOk);
            }
            if (e.SendInfo.ProtocolMsg == ProtocolOfExchange.AddBase)
            {
                NetworkTransferObjects obj   = new NetworkTransferObjects();
                DataBase.DataBase      addDb = (DataBase.DataBase)e.NetDataObj.DataBase;
                if (addDb != null)
                {
                    if (m_DbCollection.AddDataBase(addDb))
                    {
                        Functions.SaveConfig(m_DbCollection, "DataBase.qrdb");

                        obj.DataBaseCollection = m_DbCollection;
                        Thread.Sleep(10);
                        tcp.SendData(obj, ProtocolOfExchange.AddBaseOk);
                    }
                    else
                    {
                        Thread.Sleep(10);
                        tcp.SendData(null, ProtocolOfExchange.AddBaseFail);
                    }
                }
            }
            if (e.SendInfo.ProtocolMsg == ProtocolOfExchange.DelBase)
            {
                DataBase.DataBase addDb = (DataBase.DataBase)e.NetDataObj.DataBase;
                if (addDb != null)
                {
                    if (m_DbCollection.DeleteDataBase(addDb))
                    {
                        NetworkTransferObjects obj = new NetworkTransferObjects();
                        obj.DataBaseCollection = m_DbCollection;
                        Functions.SaveConfig(m_DbCollection, "DataBase.qrdb");
                        Thread.Sleep(10);
                        tcp.SendData(obj, ProtocolOfExchange.DelBaseOk);
                    }
                }
            }
            //ADDQRITEMINBASE
            if (e.SendInfo.ProtocolMsg == ProtocolOfExchange.AddQrItemInBase)
            {
                QrCodeData qrcode = (QrCodeData)e.NetDataObj.QrCodeData;
                if (qrcode != null)
                {
                    if (m_DbCollection.AddQrCodeToDataBases(qrcode))
                    {
                        Functions.SaveConfig(m_DbCollection, "DataBase.qrdb");
                        NetworkTransferObjects obj = new NetworkTransferObjects();
                        obj.DataBaseCollection = m_DbCollection;
                        Thread.Sleep(10);
                        tcp.SendData(obj, ProtocolOfExchange.AddQrItemInBaseOk);
                    }
                    else
                    {
                        Thread.Sleep(10);
                        tcp.SendData(null, ProtocolOfExchange.AddQrItemInBaseFail);
                    }
                }
            }
            //ADDQRITEMSINBASE
            if (e.SendInfo.ProtocolMsg == ProtocolOfExchange.AddQrItemSInBase)
            {
                QrCodeData[] qrcode = (QrCodeData[])e.NetDataObj.QrCodeDataArray;
                if (qrcode != null)
                {
                    if (m_DbCollection.AddQrCodeSerialToDataBases(qrcode))
                    {
                        Functions.SaveConfig(m_DbCollection, "DataBase.qrdb");
                        NetworkTransferObjects obj = new NetworkTransferObjects();
                        obj.DataBaseCollection = m_DbCollection;
                        Thread.Sleep(10);
                        tcp.SendData(obj, ProtocolOfExchange.AddQrItemSInBaseOk);
                    }
                    else
                    {
                        Thread.Sleep(10);
                        tcp.SendData(null, ProtocolOfExchange.AddQrItemSInBaseFail);
                    }
                }
            }

            if (e.SendInfo.ProtocolMsg == ProtocolOfExchange.DelDbItems)
            {
                int db_index = e.NetDataObj.DbIndex;
                if (db_index != -1)
                {
                    if (m_DbCollection.DeleteItemsFromDb((List <DataBaseItem>)e.NetDataObj.DataBaseItemsList, db_index))
                    {
                        Functions.SaveConfig(m_DbCollection, "DataBase.qrdb");
                        NetworkTransferObjects obj = new NetworkTransferObjects();
                        obj.DataBaseCollection = m_DbCollection;
                        Thread.Sleep(10);
                        tcp.SendData(obj, ProtocolOfExchange.DelDbItemsOK);
                    }
                    else
                    {
                        Thread.Sleep(10);
                        tcp.SendData(null, ProtocolOfExchange.DelDbItemsFail);
                    }
                }
            }
        }