Advertisement
Guest User

Untitled

a guest
Nov 27th, 2014
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.82 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Windows;
  6. using System.Windows.Controls;
  7. using System.Windows.Data;
  8. using System.Windows.Documents;
  9. using System.Windows.Input;
  10. using System.Windows.Media;
  11. using System.Windows.Media.Imaging;
  12. using System.Windows.Navigation;
  13. using System.Windows.Shapes;
  14. using System.ComponentModel;
  15. using System.Data;
  16. using System.Net;
  17. using System.Net.Sockets;
  18.  
  19. namespace Client
  20. {
  21.     /// <summary>
  22.     /// Interaction logic for CliensMessage.xaml
  23.     /// </summary>
  24.    
  25.     public partial class CliensMessage : Window
  26.     {
  27.         public Socket ClientSocket;
  28.         public string LoginName;
  29.         byte[] byteData = new byte[1024];
  30.  
  31.         private delegate void UpdateDelegate(string pMessage);
  32.         public delegate void UjFormDelegate();
  33.  
  34.         private void UpdateMessage(string pMessage)
  35.         {
  36.             this.textBox1.Text += pMessage;
  37.         }
  38.  
  39.         public CliensMessage()
  40.         {
  41.             InitializeComponent();
  42.         }
  43.  
  44.         public CliensMessage(Socket pSocket, String pName)
  45.         {
  46.             InitializeComponent();
  47.  
  48.             ClientSocket = pSocket;
  49.             LoginName = pName;
  50.  
  51.             ClientSocket.BeginReceive(byteData, 0, byteData.Length, SocketFlags.None,
  52.                     new AsyncCallback(OnReceive), ClientSocket);
  53.         }
  54.  
  55.         private void OnReceive(IAsyncResult ar)
  56.         {
  57.            
  58.                 Socket clientSocket = (Socket)ar.AsyncState;
  59.                 clientSocket.EndReceive(ar);
  60.                
  61.  
  62.                 //Transform the array of bytes received from the user into an
  63.                 //intelligent form of object Data
  64.                 Data msgReceived = new Data(byteData);
  65.  
  66.                 ClientSocket.BeginReceive(byteData, 0, byteData.Length, SocketFlags.None,
  67.                                         new AsyncCallback(OnReceive), ClientSocket);
  68.  
  69.                 UpdateDelegate update = new UpdateDelegate(UpdateMessage);
  70.                 this.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, update,
  71.                     msgReceived.strMessage + "\r\n");
  72.  
  73.            
  74.         }
  75.  
  76.         private void button1_Click(object sender, RoutedEventArgs e)
  77.         {
  78.             Data msgToSend = new Data();
  79.             msgToSend.cmdCommand = Command.Message;
  80.                
  81.             msgToSend.strName = LoginName;
  82.             msgToSend.strMessage = textBox2.Text;
  83.  
  84.             byte[] b = msgToSend.ToByte();
  85.             ClientSocket.Send(b);
  86.         }
  87.  
  88.         private void Window_Closing(object sender, CancelEventArgs e)
  89.         {
  90.             Data msgToSend = new Data();
  91.             msgToSend.cmdCommand = Command.Logout;
  92.             msgToSend.strName = LoginName;
  93.             byte[] b = msgToSend.ToByte();
  94.             ClientSocket.Send(b);
  95.  
  96.             MainWindow uj_form = new MainWindow();
  97.             uj_form.Show();
  98.             this.Close();
  99.             //UjFormDelegate pForm = new UjFormDelegate(UjForm);
  100.             //this.Dispatcher.Invoke(pForm, null);
  101.         }
  102.  
  103.         private void Button_Click(object sender, RoutedEventArgs e)
  104.         {
  105.             Data msgToSend = new Data();
  106.             msgToSend.cmdCommand = Command.Logout;
  107.             msgToSend.strName = LoginName;
  108.             byte[] b = msgToSend.ToByte();
  109.             ClientSocket.Send(b);
  110.  
  111.             MainWindow uj_form = new MainWindow();
  112.             uj_form.Show();
  113.             this.Close();
  114.             //UjFormDelegate pForm = new UjFormDelegate(UjForm);
  115.             //this.Dispatcher.Invoke(pForm, null);
  116.         }
  117.  
  118.         private void UjForm()
  119.         {
  120.             MainWindow uj_form;
  121.             uj_form = new MainWindow();
  122.             uj_form.Show();
  123.             Close();
  124.         }
  125.  
  126.  
  127.     }
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement