Beispiel #1
0
 public void SendMessage(string SelectedClient, string message)
 {
     if (SelectedClient == null)
     {
         return;
     }
     else
     {
         CaiReadWriteObject obj = null;
         foreach (CaiReadWriteObject rwo in clientList)
         {
             if (rwo.client.Client.RemoteEndPoint.ToString() == SelectedClient)
             {
                 obj = rwo;
             }
         }
         if (obj == null)
         {
             return;
         }
         else
         {
             SendString(obj, message);
         }
     }
 }
Beispiel #2
0
        private void SendCallback(IAsyncResult ar)
        {
            CaiReadWriteObject readWriteObject = (CaiReadWriteObject)ar.AsyncState;

            try
            {
                readWriteObject.netStream.EndWrite(ar);
            }
            catch (Exception err)
            {
                //Parent.AddStatus(err.Message);
                //Parent.ComboRemoveConnected(readWriteObject.client.Client.RemoteEndPoint.ToString());
            }
        }
Beispiel #3
0
        public void GroupSend(byte[] sendBytes)
        {
            int num = clientList.Count;

            try
            {
                for (int i = 0; i != num; ++i)
                {
                    CaiReadWriteObject client = clientList[i];
                    SendBytes(client, sendBytes);
                }
            }
            catch (Exception) { }
        }
Beispiel #4
0
 private void SendBytes(CaiReadWriteObject readWriteObject, byte[] sendBytes)
 {
     try
     {
         readWriteObject.writeBytes = sendBytes;
         readWriteObject.netStream.BeginWrite(readWriteObject.writeBytes, 0,
                                              readWriteObject.writeBytes.Length, new AsyncCallback(SendCallback), readWriteObject);
         readWriteObject.netStream.Flush();
         //Parent.AddStatus(string.Format("向{0}发送:{1}", readWriteObject.client.Client.RemoteEndPoint, str));
     }
     catch (Exception err)
     {
         // Parent.AddStatus(err.Message);
     }
 }
Beispiel #5
0
 private void ReadCallback(IAsyncResult ar)
 {
     try
     {
         CaiReadWriteObject readWriteObject = (CaiReadWriteObject)ar.AsyncState;
         int count = readWriteObject.netStream.EndRead(ar);
         //Parent.AppendString(string.Format("[from{0}]{1}", readWriteObject.client.Client.RemoteEndPoint,
         //Encoding.UTF8.GetString(readWriteObject.readBytes, 0, count)));
         if (isExit == false)
         {
             readWriteObject.InitReadArray();
             readWriteObject.netStream.BeginRead(readWriteObject.readBytes, 0,
                                                 readWriteObject.readBytes.Length, ReadCallback, readWriteObject);
         }
     }
     catch (Exception err)
     {
         // Parent.AddStatus(err.Message);
     }
 }
Beispiel #6
0
 private void AcceptTcpClientCallback(IAsyncResult ar)
 {
     try
     {
         allDone.Set();
         TcpListener myListener = (TcpListener)ar.AsyncState;
         TcpClient   client     = myListener.EndAcceptTcpClient(ar);
         //Parent.AddStatus("已接受客户连接" + client.Client.RemoteEndPoint);
         //Parent.ComboAddConnected(client.Client.RemoteEndPoint.ToString());
         CaiReadWriteObject readWriteObject = new CaiReadWriteObject(client);
         clientList.Add(readWriteObject);
         SendString(readWriteObject, "Connection Accepted!");
         readWriteObject.netStream.BeginRead(readWriteObject.readBytes, 0, readWriteObject.readBytes.Length, ReadCallback, readWriteObject);
     }
     catch (Exception err)
     {
         //Parent.AddStatus(err.Message);
         return;
     }
 }