Image دات نت

ساخت پیام رسان با سی شارپ

آموزش ساخت پیام رسان با سی شارپ با استفاده از سوکت پروگرمینگ

Step 1: یک پروژه از نوع ویندوز فرم ایجاد کنید

Step 2: وارد manage nuget package بشوید و عبارت simpletcp را جستجو کنید و کتاب خانه را نصب کنید

Step 3: فرم خود را به صورت زیر ایجاد کنید

کد کلاینت را به صورت زیر بنویسید

namespace Client

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        SimpleTcpClient client;

 

        private void btnConnect_Click(object sender, EventArgs e)

        {

            btnConnect.Enabled = false;

            //Connect to server

            client.Connect(txtHost.Text, Convert.ToInt32(txtPort.Text));

        }

 

        private void Form1_Load(object sender, EventArgs e)

        {

            client = new SimpleTcpClient();

            client.StringEncoder = Encoding.UTF8;

            client.DataReceived += Client_DataReceived;

        }

 

        private void Client_DataReceived(object sender, SimpleTCP.Message e)

        {

            //Update message to txtStatus

            txtStatus.Invoke((MethodInvoker)delegate ()

            {

                txtStatus.Text += e.MessageString;               

            });

        }

 

        private void btnSend_Click(object sender, EventArgs e)

        {

            client.WriteLineAndGetReply(txtMessage.Text, TimeSpan.FromSeconds(3));

        }

    }

 

}

 

 

کد سرور را به صورت زیر بنویسید

 

namespace TCPIPDemo

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        SimpleTcpServer server;

        private void Form1_Load(object sender, EventArgs e)

        {

            server = new SimpleTcpServer();

            server.Delimiter = 0x13;//enter

            server.StringEncoder = Encoding.UTF8;

            server.DataReceived += Server_DataReceived;

        }

 

        private void Server_DataReceived(object sender, SimpleTCP.Message e)

        {

            //Update mesage to txtStatus

            txtStatus.Invoke((MethodInvoker)delegate ()

            {

                txtStatus.Text += e.MessageString;

                e.ReplyLine(string.Format("You said: {0}", e.MessageString));

            });

        }

 

        private void btnStart_Click(object sender, EventArgs e)

        {

            //Start server host

            txtStatus.Text += "Server starting...";

            System.Net.IPAddress ip = System.Net.IPAddress.Parse(txtHost.Text);

            server.Start(ip, Convert.ToInt32(txtPort.Text));

        }

 

        private void btnStop_Click(object sender, EventArgs e)

        {

            if (server.IsStarted)

                server.Stop();

        }

    }

}

 

 

تمام.