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"; }
/// <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"); } }