//public void receiveCallBack(IAsyncResult ar) //{ // try // { // int rec = socket.EndReceive(ar); // if (rec == 0) // { // if (Disconnected != null) // { // Disconnected(this); // return; // } // } // if (rec != 4) // { // throw new Exception(); // } // } // catch(SocketException se) // { // switch(se.SocketErrorCode) // { // case SocketError.ConnectionAborted: // case SocketError.ConnectionReset: // if (Disconnected != null) // { // Disconnected(this); // return; // } // break; // } // } // catch(ObjectDisposedException) // { // return; // } // catch(NullReferenceException) // { // return; // } // catch (Exception ex) // { // Console.WriteLine(ex.Message); // return; // } // buffer = new ReceiveBuffer(BitConverter.ToInt32(lenBuffer, 0)); // socket.BeginReceive(buffer.Buffer, 0, buffer.Buffer.Length, SocketFlags.None, receivePacketCallBack, null); //} //public void receivePacketCallBack(IAsyncResult ar) //{ // int rec = socket.EndReceive(ar); // if (rec <= 0) // { // return; // } // buffer.BufStream.Write(buffer.Buffer, 0, rec); // buffer.ToReceive -= rec; // if (buffer.ToReceive > 0) // { // Array.Clear(buffer.Buffer, 0, buffer.Buffer.Length); // socket.BeginReceive(buffer.Buffer, 0, buffer.Buffer.Length, SocketFlags.None, receivePacketCallBack, null); // return; // } // if (DataReceived != null) // { // buffer.BufStream.Position = 0; // DataReceived(this, buffer); // } // buffer.Dispose(); // ReceiveAsync(); //} void Send(byte[] data, int index, int length) { UpdateLogMsg("send data: " + BBDataConverter.ByteToHexString(data)); //socket.BeginSend(BitConverter.GetBytes(length), 0, 4, SocketFlags.None, sendCallBack, null); //System.Threading.Thread.Sleep(500); socket.BeginSend(data, index, length, SocketFlags.None, sendCallBack, null); }
public override string ToString() { StringBuilder pktStr = new StringBuilder("Packet: "); pktStr.Append("TYPE[").Append(type).Append("]"); pktStr.Append("USER_ID[").Append(userId).Append("]"); pktStr.Append("CAR_ID[").Append(carId).Append("]"); pktStr.Append("RESPONSE[").Append(response).Append("]"); pktStr.Append("DATA_LEN[").Append(dataLen).Append("]"); if (response == PKT_NACK) { pktStr.Append("ERROR_MSG[").Append(errMsg).Append("]"); } if (dataLen > 10 && data != null) { pktStr.Append("DATA[").Append(BBDataConverter.ByteToHexString(data.Take(10).ToArray())).Append("...]"); } return(pktStr.ToString()); }