private void ConnectCallBack(IAsyncResult iar) { allDone.Set(); try { client = (TcpClient)iar.AsyncState; client.EndConnect(iar); ns = client.GetStream(); DataRead dataRead = new DataRead(ns, client.ReceiveBufferSize); ns.BeginRead(dataRead.msg, 0, dataRead.msg.Length, ReadCallBack, dataRead); OnConnectSuccess("Connecting OK"); } catch (Exception e) { OnConnectFailed(e.Message); return; } }
private void ReadCallBack(IAsyncResult iar) { try { DataRead dataRead = (DataRead)iar.AsyncState; int recv = dataRead.ns.EndRead(iar); string d = Encoding.UTF8.GetString(dataRead.msg, 0, recv); DataArriveEvent(d); if (isLive == false) { dataRead = new DataRead(ns, client.ReceiveBufferSize); ns.BeginRead(dataRead.msg, 0, dataRead.msg.Length, ReadCallBack, dataRead); } } catch (Exception e) { OnClientError(e.Message); return; } }