106
private void оПрограммеToolStripMenuItem_Click(object sender, EventArgs e)
{
new aboutForm().ShowDialog();
}
//Очистка списка сообщений из контекстного меню
private void очиститьToolStripMenuItem_Click(object sender, EventArgs e)
{
showMessListBox.Items.Clear();
}
//Отправка сообщения по кнопке
private void sendButton_Click(object sender, EventArgs e)
{
if (messTextBox.Text != "")
{
SendToSelected("{S}" + messTextBox.Text);
showMessListBox.Items.Add("[" + DateTime.Now + "] Сервер: " +
messTextBox.Text);
LogingToFile("Сервер: " + messTextBox.Text);
messTextBox.Clear();
}
else
MessageBox.Show("Нельзя отправить пустое сообщение");
}
#endregion
//Метод авторизации ожидающих соединения клиентов (в отдельном потоке)
private void AcceptClients()
{
DataTable dt = null;
try
{
while (true)
{
if (_countClient == MAXNUMCLIENTS || _stopnetwork == true)
break;
clients[_countClient] = _server.AcceptTcpClient();
string clientIP = GetIp(_countClient);
string subName = IPToSub(clientIP);
StreamReader streamreader = new
StreamReader(Directory.GetCurrentDirectory() + @"\settings.xml",
System.Text.Encoding.UTF8);
ds = new DataSet();
ds.ReadXml(streamreader, XmlReadMode.Auto);
dt = ds.Tables[0];
List<string> ips = new List<string>();
foreach (DataRow item in dt.Rows)
ips.Add(item.ItemArray[1].ToString());
if (ips.Exists(s => s.Equals(clientIP)))
{
Thread readThread = new Thread(ReceiveRun);
readThread.Start(_countClient);
_countClient++;
//Передача списка мероприятий при подключении
Invoke(new AddClientsListDelegate(AddClientsList), new
object[] {subName, clientIP});