TcpListener listener = null; try { listener = new TcpListener(IPAddress.Any, port); listener.Start(); } catch (Exception e) { Console.WriteLine(e.ToString()); System.Environment.Exit(-1); } TcpClient client = listener.AcceptTcpClient(); if (client != null) { NetworkStream clientStream = client.GetStream(); BinaryFormatter formatter = new BinaryFormatter(); if (clientStream.DataAvailable) { String text = (String)formatter.Deserialize(clientStream); Console.WriteLine(text); } }
NetworkStream stream = null ; try { TcpClient client = new TcpClient(machine, port); stream = client.GetStream(); } catch (Exception e) { Console.WriteLine(e.ToString()); System.Environment.Exit(-1); } BinaryFormatter formatter = new BinaryFormatter(); try { formatter.Serialize(stream, "Texte à envoyer\n"); } catch (Exception e) { Console.WriteLine(e.ToString()); System.Environment.Exit(-1); }
IDataObject data = Clipboard.GetDataObject(); if (data != null && data.GetDataPresent(typeof(System.Drawing.Bitmap))) result = (Image)data.GetData(typeof(System.Drawing.Bitmap));La méthode principale DoWork de la tâche de fond de réception des images se comporte comme un serveur qui attend une connexion de client puis reçoit de ce client les images à afficher en local. A chaque image reçue un ReportProgress est lancé pour que la méthode de gestion de progression ProgressChanged puisse afficher l'image dans la seconde zone de dessin (pour des raisons techniques la méthode principale DoWork ne peut pas directement accéder à la zone de dessin). Si vous devez retailler l'image utilisez la méthode GetThumbnailImage de la classe Image.