آموزش ساخت پیام رسان با سی شارپ با استفاده از سوکت پروگرمینگ + سورس پروژه پیام رسان با سی شارپ
سلام 🖐️
در این آموزش قصد داریم با استفاده از سوکت پروگرمینگ یک پیام رسان ساده با زبان برنامه نویسی سی شارپ ایجاد کنیم
امکانات پیام رسان ما:
- اتصال به صورت TCP
- نرم افزار سرور
- نرم افزار کلاینت
- ایجاد سرور بر روی پورت های مختلف
ساخت برنامه چت با سی شارپ
برای ساخت یک شبکه اجتماعی با سی شارپ چند مرحله داریم
- ایجاد پروژه سرور
- دیزاین فرم شبکه اجتماعی سمت سرور
- برنامه نویسی سوکت و اتصال tcp
- ساخت برنامه کلاینت
- دیزاین فرم برنامه چت سمت کلاینت
- برنامه نویسی کلاینت
- اجرا
Step 1: یک پروژه از نوع ویندوز فرم ایجاد کنید
Step 2: وارد manage nuget package بشوید و عبارت simpletcp را جستجو کنید و کتاب خانه را نصب کنید
Step 3: فرم خود را به صورت زیر ایجاد کنید
پیشنهاد: آموزش ساخت پیام رسان تحت وب با سی شارپ
برای ساخت یک پیام رسان تحت وب در سی شارپ باید از تکنولوژی signalR استفاده کنید برای اینکار به مقاله
ساخت پیام رسان تحت وب با سی شارپ
کد کلاینت را به صورت زیر بنویسید
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();
}
}
}
برای اپدیت پروژه و افزودن قابلیت ارسال فایل به پیام رسان به مقاله
ارسال فایل با سوکت پروگرمینگ در سی شارپ
مراجعه کنید
تمام.