PDA

View Full Version : سوال: Multi client multi server



arashmidos2020
سه شنبه 13 مرداد 1388, 13:08 عصر
سلام می خوام یک برنامه بنویسم که :
چند کلاینت می توانند به چند سرور وصل می شوند.به طبع سرور ها هم باید این کلاینت ها را پیدا کنند و آدرس آنها را در یک آرایه ذخیره کنند.اینم بگم کلاینت ها سرورها پیدا می کنند.
برنامه سمت کلاینت رو نوشتم اما نمی دونم سمت سرور چطور به کلاینت ها connect شوم.یعنی در کل نمی دونم چطور از thread تو این برنامه کلاینت کار کنم.
ممنون می شم از اساتید کمک کنند

.
private void RunServer()
{
#region RunServer
int i = _Counter;
IPEndPoint MngIPpoint;

_nodes[i] = _manager.Accept();

_Counter++;
Thread worker = new Thread(new ThreadStart(RunServer));
worker.Start();

while (true)
{
byte[] rcvByte = new byte[1024];
_nodes[i].Receive(rcvByte);
string str = Encoding.UTF8.GetString(rcvByte).Trim('\0');
if (str == "manager")
{
MngIPpoint = (IPEndPoint)_nodes[i].RemoteEndPoint;
_mngrList.Enqueue(MngIPpoint);
}//end if
}//end while
#endregion
private void SearchManager()
{
#region Bind+Listen+Thread
IPEndPoint anyIPpoint = new IPEndPoint(IPAddress.Any, _portNumber);
_manager.Bind(anyIPpoint);
_manager.Listen(10);

Thread worker = new Thread(new ThreadStart(RunServer));
worker.Start();
//CheckForIllegalCrossThreadCalls = false;
#endregion
}
}


اینم سمت کلاینت نوشتم(از همین سایت گرفتم)اما الان سمت سرور اگر بخوام connect کنم یکبار connect میشم اما من می خوام همیشه منتظر دریافت یک اتصال از طرف کلاینت ها باشه.