Guest User

Untitled

a guest
Mar 7th, 2017
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.22 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using System.Net;
  11. using System.Net.Sockets;
  12. using MetroFramework.Controls;
  13. using System.Threading;
  14.  
  15. namespace client
  16. {
  17.     public partial class Form1 : MetroFramework.Forms.MetroForm
  18.     {
  19.         public Form1()
  20.         {
  21.             InitializeComponent();
  22.         }
  23.  
  24.         private void connectBTN_Click(object sender, EventArgs e)
  25.         {
  26.             Thread Connect = new Thread(connectOnServer);
  27.             Connect.Start();
  28.         }
  29.         private void connectOnServer()
  30.         {
  31.             byte[] bytes = new byte[1024];
  32.             IPAddress serverIp = IPAddress.Parse(serverIPTextBox.Text);
  33.             IPEndPoint ipEndPoint = new IPEndPoint(serverIp, 5454);
  34.             Socket senderSocket = new Socket(serverIp.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
  35.             try
  36.             {
  37.                 senderSocket.Connect(ipEndPoint);
  38.                 byte[] msg = Encoding.UTF8.GetBytes("[001] " + metroTextBox1.Text);
  39.                 senderSocket.Send(msg);
  40.  
  41.                 int bytesRec = senderSocket.Receive(bytes);
  42.                 string receivedData = null;
  43.                 receivedData += Encoding.UTF8.GetString(bytes, 0, bytesRec);
  44.                 serverAnswer(receivedData, senderSocket);
  45.  
  46.             }
  47.             catch { }
  48.         }
  49.  
  50.         private void serverAnswer(string receiveData, Socket senderSocket)
  51.         {
  52.             string serverCode = receiveData.Substring(1, 3);
  53.  
  54.             switch (serverCode)
  55.             {
  56.                 case "001":
  57.                     Action action = () =>
  58.                     {
  59.                         connectStatusLabel.Text = "Status: OK";
  60.                         serverIPTextBox.Enabled = false;
  61.                         metroTextBox1.Enabled = false;
  62.                         connectBTN.Enabled = false;
  63.                     };
  64.                     Invoke(action);
  65.                     break;
  66.             }
  67.             senderSocket.Shutdown(SocketShutdown.Both);
  68.             senderSocket.Close();
  69.         }
  70.     }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment