ببینید دوست عزیز ابتدا یه متد و یا کلاس برای ارسال پیام اونم استاتیک درست میکنید من نمونه کد رو میزارم
وقتی کاربر عمل ثبت رو انجام داد در انتهای اون دستور این کلاس یا متد رو قرار میدید
یعنی به محض درج اطلاعات در دیتابیس پیامی از سوی کاربر شما به سرویس گیرنده در انسو ارسال میشه
و اونم که وقتی برنامه در حال اجراست سیستم بگوش هست و و قتی فرمان رو گرفت شما براش شرط میزرین مثلا دیتاگرید رفرش بشه و یا برنامه مجدد اجرا بشه یا به کاربر پیامی بده
این برای همون ارسال کننده پیام هست
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;using System.Net;
using System.Net.Sockets;namespace Server1
{
class Program
{
static void Main(string[] args)
{
IPAddress ip = IPAddress.Parse("192.168.11.30");
int port = 2500;
TcpListener s = new TcpListener(ip, port);
s.Start();
Console.WriteLine("Server Started.. ");
Socket c = s.AcceptSocket();
Console.WriteLine("1 Client connected.. ");
byte[] b1 = new byte[80];
b1 = ASCIIEncoding.ASCII.GetBytes("Hello ,please send message:");
c.Send(b1);
byte[] b2 = new byte[80];
c.Receive(b2);
Console.WriteLine( ASCIIEncoding.ASCII.GetString(b2) );
c.Close();
Console.ReadKey();
}
}
}
اینم برای شخص گیرنده است
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;using System.Net;
using System.Net.Sockets;namespace Client
{
class Program
{
static void Main(string[] args)
{
// ایجاد ارتباط
// TCP
// با استفاده از سوکت
string msg;
Socket c = new Socket(AddressFamily.InterNetwork, SocketType.Stream
, ProtocolType.Tcp);
c.Connect("192.168.11.1", 2500);
byte[] b1 = new byte[80];
c.Receive(b1);
Console.Write( ASCIIEncoding.ASCII.GetString(b1) );
msg = Console.ReadLine();
byte[] b2 = new byte[80];
b2 = ASCIIEncoding.ASCII.GetBytes(msg);
c.Send(b2);
c.Close();
}
}
}
البته مستندات دقیق رو میتونی اینجا پیدا کنی
https://docs.microsoft.com/en-us/dotnet/framework/network-programming/socket-code-examples
توسط
Dany
(7,164 امتیاز)
●4 ●7 ●141