예제 #1
0
        private void BMakeOrder_Click(object sender, EventArgs e)
        {
            if (Convert.ToInt32(txtQuantity.Text) == 0)
            {
                MessageBox.Show("Quantity must be qreater than 0"); return;
            }
            if (Convert.ToDouble(txtOrderPrice.Text.Replace('.', ',')) == 0)
            {
                MessageBox.Show("Price must be qreater than 0"); return;
            }

            TOrder NewOrder = new TOrder();

            NewOrder.UserID   = _UserID;
            NewOrder.Side     = (TOrderSide)cmbBIDASK.SelectedIndex;
            NewOrder.Symbol   = cmbTradeSmbols.Text;
            NewOrder.Quantity = Convert.ToInt32(txtQuantity.Text);
            NewOrder.Price    = Convert.ToDouble(txtOrderPrice.Text.Replace('.', ','));
            var dataString = JsonConvert.SerializeObject(NewOrder);

            TMainModel.Sendbuf2Client(_tcpclient, Encoding.ASCII.GetBytes(@"/ADDNEWORDER;" + dataString));

            txtQuantity.Text   = "0";
            txtOrderPrice.Text = "0.0";
        }
예제 #2
0
        /// <summary>
        /// Handle with clients
        /// </summary>
        /// <param name="cluid">ClientUID</param>
        public static void HandleClients(string cluid)
        {
            try
            {
                string    clientid = cluid;
                TcpClient Client;
                lock (_lock) Client = _DClients[clientid];

                if (_newclientDetected)
                {
                    byte[] buffer = Encoding.ASCII.GetBytes($"/CLIENTNUMBER;{clientid}");
                    TMainModel.Sendbuf2Client(Client, buffer);
                }
                while (true)
                {
                    NetworkStream stream     = Client.GetStream();
                    byte[]        buffer     = new byte[2048];
                    int           byte_count = stream.Read(buffer, 0, buffer.Length);
                    if (byte_count == 0)
                    {
                        break;
                    }

                    TMainModel.readCommand(Client, clientid, buffer, byte_count);
                }
                Console.WriteLine($"Client {Client.Client.RemoteEndPoint} was disconnected!!");
                Logger.Log.Info($"Client {Client.Client.RemoteEndPoint} was disconnected!!");
                TMainModel.RemoveClientFromDict(clientid);
                Client.Client.Shutdown(SocketShutdown.Both);
                Client.Close();
            }
            catch (Exception ex)
            {
                TMainModel.ErrorCatcher(ex, "HandleClients");
            }
        }