internal bool authenticateWithPassword() { byte[] b = AmbrUtils.ObjectToByteArray(this.password); Console.WriteLine("Mandato password : [" + this.password + "]"); //UdpSender.Send(b, b.Length); server.Client.Send(b, b.Length, 0); //byte[] receivedResponse = UdpSender.Receive(ref remoteIPEndPoint); byte[] receivedResponse = new byte[AmbrUtils.ObjectToByteArray(new Boolean()).Length]; server.Client.Receive(receivedResponse); Boolean result = (Boolean)AmbrUtils.ByteArrayToObject(receivedResponse); return(result); }
public void sendClipBoardFaster(TcpClient client) { byte[] content = new byte[0]; //byte array that will contain the clipboard byte[] sizeInBytes = new byte[4]; //byte array that will contain the size if (Clipboard.ContainsText()) { content = AmbrUtils.ObjectToByteArray(Clipboard.GetText()); } else if (Clipboard.ContainsFileDropList()) { //Creates a new, blank zip file to work with - the file will be //finalized when the using if (Directory.Exists(AmbrUtils.CB_FILES_DIRECTORY_PATH)) //delete folder if exists { DirectoryInfo di = new DirectoryInfo(AmbrUtils.CB_FILES_DIRECTORY_PATH); di.Attributes &= ~FileAttributes.ReadOnly; //di.Attributes = FileAttributes.Normal; Directory.Delete(AmbrUtils.CB_FILES_DIRECTORY_PATH, true); } if (File.Exists(AmbrUtils.ZIP_FILE_NAME_AND_PATH)) { FileInfo di = new FileInfo(AmbrUtils.ZIP_FILE_NAME_AND_PATH); //di.Attributes &= ~FileAttributes.ReadOnly; di.Attributes = FileAttributes.Normal; File.Delete(AmbrUtils.ZIP_FILE_NAME_AND_PATH); } DirectoryInfo newDirInfo = Directory.CreateDirectory(AmbrUtils.CB_FILES_DIRECTORY_PATH); newDirInfo.Attributes &= ~FileAttributes.ReadOnly; foreach (String filepath in Clipboard.GetFileDropList()) { FileAttributes attr = File.GetAttributes(filepath); if ((attr & FileAttributes.Directory) == FileAttributes.Directory) { DirectoryInfo diSource = new DirectoryInfo(filepath); System.IO.Directory.CreateDirectory(AmbrUtils.CB_FILES_DIRECTORY_PATH + diSource.Name); DirectoryInfo diDst = new DirectoryInfo(AmbrUtils.CB_FILES_DIRECTORY_PATH + diSource.Name); AmbrUtils.CopyFilesRecursively(diSource, diDst); } else //it's a file { String dstFilePath = AmbrUtils.CB_FILES_DIRECTORY_PATH + Path.GetFileName(filepath); System.IO.File.Copy(filepath, dstFilePath); } } ZipFile.CreateFromDirectory(AmbrUtils.CB_FILES_DIRECTORY_PATH, AmbrUtils.ZIP_FILE_NAME_AND_PATH, CompressionLevel.Fastest, true); FileInfo info = new FileInfo(AmbrUtils.ZIP_FILE_NAME_AND_PATH); Console.WriteLine("Dimensione del file zip : " + info.Length + " bytes"); if (info.Length > 1024 * 1024 * 200) //limite a 200 mega { MessageBoxResult result = MessageBox.Show("Non è possibile mandare file per più di 200 mega ( attualmente " + info.Length + " bytes )"); Console.WriteLine("Can't send more than 200 Mega Bytes"); return; } content = File.ReadAllBytes(AmbrUtils.ZIP_FILE_NAME_AND_PATH); } else if (Clipboard.ContainsImage()) { //content = imageToByteArray(Clipboard.GetImage()); content = AmbrUtils.bitmapSourceToByteArray(Clipboard.GetImage()); } else if (Clipboard.ContainsAudio()) { content = AmbrUtils.audioSourceToByteArray(Clipboard.GetAudioStream()); } else { Console.WriteLine("Nothing to send"); return; } NetworkStream ns = client.GetStream(); Int32 len = content.Length; sizeInBytes = BitConverter.GetBytes(len); //convert size of content into byte array Console.WriteLine("Mando size: " + len); ns.Write(sizeInBytes, 0, 4); //write Console.WriteLine("Mando buffer..."); ns.Write(content, 0, content.Length); ns.Flush(); Console.WriteLine("Mandato!"); }