Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using System.Net;
- using System.Net.Sockets;
- using MetroFramework.Controls;
- using System.Threading;
- namespace client
- {
- public partial class Form1 : MetroFramework.Forms.MetroForm
- {
- public Form1()
- {
- InitializeComponent();
- }
- private void connectBTN_Click(object sender, EventArgs e)
- {
- Thread Connect = new Thread(connectOnServer);
- Connect.Start();
- }
- private void connectOnServer()
- {
- byte[] bytes = new byte[1024];
- IPAddress serverIp = IPAddress.Parse(serverIPTextBox.Text);
- IPEndPoint ipEndPoint = new IPEndPoint(serverIp, 5454);
- Socket senderSocket = new Socket(serverIp.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
- try
- {
- senderSocket.Connect(ipEndPoint);
- byte[] msg = Encoding.UTF8.GetBytes("[001] " + metroTextBox1.Text);
- senderSocket.Send(msg);
- int bytesRec = senderSocket.Receive(bytes);
- string receivedData = null;
- receivedData += Encoding.UTF8.GetString(bytes, 0, bytesRec);
- serverAnswer(receivedData, senderSocket);
- }
- catch { }
- }
- private void serverAnswer(string receiveData, Socket senderSocket)
- {
- string serverCode = receiveData.Substring(1, 3);
- switch (serverCode)
- {
- case "001":
- Action action = () =>
- {
- connectStatusLabel.Text = "Status: OK";
- serverIPTextBox.Enabled = false;
- metroTextBox1.Enabled = false;
- connectBTN.Enabled = false;
- };
- Invoke(action);
- break;
- }
- senderSocket.Shutdown(SocketShutdown.Both);
- senderSocket.Close();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment