amin_sltny
جمعه 18 اسفند 1391, 09:43 صبح
سلام دوستان
من دارم یه بازی آنلاین با سی شارپ می سازم و برنامه نویسی سوکت اونا به روش زیر دارم می نویسم
سمت سرور: یه سوکت تعریف کردم و در اونا در حالت شنیدن قرار دادم.حالت شنیدن در یه حلقه قرار داره و وقتی با یه کلاینت connect میشه بعد از اضاقه کردن اون در یه لیست دوباره به شنیدن میره.
Sktserver.Bind(ipEndPoint);
var locker = new object();
while (true)
{
lock (locker)
{
Console.ForegroundColor = ConsoleColor.White;
Sktserver.Listen(10);
ListskClinet.Add(Sktserver.Accept());
var clientep = (IPEndPoint) ListskClinet[ListskClinet.Count - 1].RemoteEndPoint;
var th = new Thread(new ThreadStart(() => Players.Recivedate((EndPoint) clientep)));
th.Start();
}
}
سمت کلاینت: وقتی برنامه را load می کنه با این سرور connect میشه.
برای ارسال و دریافت هم من این کارا کردم در دوسمت برنامه یه thread ایجاد کردم که همیشه دریافت کنه اما خطا میده خطاشم اینه که میگه مقداری برای دریافت وجود نداره می خواستم کمکم کنید که باید چه کار کنم.
نمی دونم چه طوری مقادیر برای سرور و کلاینتم بفرستم.در حالی که تعداد کاربرانم زیاده و یه مدیریت نیاز داره اگه میشه کمکم کنید.
من دارم یه بازی آنلاین با سی شارپ می سازم و برنامه نویسی سوکت اونا به روش زیر دارم می نویسم
سمت سرور: یه سوکت تعریف کردم و در اونا در حالت شنیدن قرار دادم.حالت شنیدن در یه حلقه قرار داره و وقتی با یه کلاینت connect میشه بعد از اضاقه کردن اون در یه لیست دوباره به شنیدن میره.
Sktserver.Bind(ipEndPoint);
var locker = new object();
while (true)
{
lock (locker)
{
Console.ForegroundColor = ConsoleColor.White;
Sktserver.Listen(10);
ListskClinet.Add(Sktserver.Accept());
var clientep = (IPEndPoint) ListskClinet[ListskClinet.Count - 1].RemoteEndPoint;
var th = new Thread(new ThreadStart(() => Players.Recivedate((EndPoint) clientep)));
th.Start();
}
}
سمت کلاینت: وقتی برنامه را load می کنه با این سرور connect میشه.
برای ارسال و دریافت هم من این کارا کردم در دوسمت برنامه یه thread ایجاد کردم که همیشه دریافت کنه اما خطا میده خطاشم اینه که میگه مقداری برای دریافت وجود نداره می خواستم کمکم کنید که باید چه کار کنم.
نمی دونم چه طوری مقادیر برای سرور و کلاینتم بفرستم.در حالی که تعداد کاربرانم زیاده و یه مدیریت نیاز داره اگه میشه کمکم کنید.