
ساخت پیام رسان با سی شارپ
- FarsLearn
- 1400/12/05
آموزش ساخت پیام رسان با سی شارپ با استفاده از سوکت پروگرمینگ
(farsback)(farsback)coffeebede.ir(farsback)rezakeshvari.png)
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();
}
}
}
تمام.