public static void SendBytes(TcpClient c, BaseEncode BaseEncode, byte ender, Action <long> action) { //declare variables byte[] bytes = new byte[1024]; var utf = BaseEncode.GetnetworkEncoding(); NetworkStream s = c.GetStream(); c.SendTimeout = 1000; MemoryStream ms = new MemoryStream(utf.data); int x; while ((x = ms.Read(bytes, 0, bytes.Length)) > 0) { if (action != null) { action.Invoke(ms.Position); } s.Write(bytes, 0, x); } s.WriteByte(ender); Console.WriteLine("H=" + BaseEncode.String()); ms.CopyTo(s); }
public static bool ByteArrayToFile(string fileName, BaseEncode uc, Action <int, int> act = null) { try { using (var fs = new FileStream(fileName, FileMode.Create, FileAccess.Write)) { MemoryStream ms = new MemoryStream(uc.data); byte[] buffer = new byte[2048]; int bytesRead; while ((bytesRead = ms.Read(buffer, 0, buffer.Length)) > 0) { fs.Write(buffer, 0, bytesRead); if (act != null) { act((int)(ms.Position * 100 / ms.Length), (int)ms.Position); } } return(true); } } catch (Exception ex) { Console.WriteLine("Exception caught in process: {0}", ex); return(false); } }
public static List <int> GetIndexes(BaseEncode data, string separator) { byte[] data2 = data.data; var foundIndexes = new List <int>(); for (int i = Array.IndexOf(data2, baseEncoding.GetBytes(separator)[0]); i > -1; i = Array.IndexOf(data2, baseEncoding.GetBytes(separator)[0], i + 1)) { foundIndexes.Add(i); } return(foundIndexes); }
public BaseEncode Bytes() { string arguments = $"{message}{separator2}{successful}{separator1}"; MemoryStream ms = new MemoryStream(); ms.Write(new BaseEncode(arguments).data); ms.Write(messagearray.data); var u = new BaseEncode(ms.ToArray()); return(u); }
public ClientMessage(BaseEncode bytes) { var indexes = GetIndexes(bytes, separator1); byte[] new1 = new byte[indexes[0]]; byte[] new2 = new byte[bytes.data.Length - indexes[0]]; Array.ConstrainedCopy(bytes.data, 0, new1, 0, indexes[0]); Array.ConstrainedCopy(bytes.data, indexes[0], new2, 0, new2.Length); var data1 = new BaseEncode(new1); //arguments var data2 = new BaseEncode(new2); //sub-array byte[] src = data2.data; byte[] dst = new byte[src.Length - separator1.Length]; Array.Copy(src, separator1.Length, dst, 0, dst.Length); var data3 = new BaseEncode(dst);//array messagearray = data3; operation = data1.String().Split(separator2)[0]; message = data1.String().Split(separator2)[1]; }
public ServerMessage(string message1, bool successful1, BaseEncode messagearray1 = null) { if (message1 == string.Empty) { message = "null"; } else { message = message1; } if (messagearray1 == null) { messagearray = new BaseEncode("null"); } else { messagearray = messagearray1; } successful = successful1; }
public ClientMessage(string operation1, string message1, BaseEncode messagearray1 = null) { operation = operation1; if (message1 == string.Empty) { message = "null"; } else { message = message1; } if (messagearray1 == null) { messagearray = new BaseEncode("null"); } else { messagearray = messagearray1; } }
public ClientMessage() { operation = "null"; message = "null"; messagearray = new BaseEncode("null"); }
public ServerMessage() { successful = false; message = "null"; messagearray = new BaseEncode("null"); }