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); } } }
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()); } }
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) { } }
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); } }
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); } }
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; } }