PDA

View Full Version : سوال: سرویس وب مبتنی بر Tcp/Ip



ic_teta
دوشنبه 23 بهمن 1396, 20:56 عصر
سلام خدمت همه دوستان
من سوالی دارم که دقیقا نمیدونم که کجا باید می پرسیدم، اما چون کار مشابهش رو توی Asp انجام دادم، سوالم رو اینجا میپرسم.
من میخوام یک سرویس وب (به صورت Tcp server) داشته باشم که چندین Tcp کلاینت مختلف بتونند (با کامپیوتر یا گوشی) به سرور وصل شند و و باهاش تعامل داشته باشند. به عنوان مثال هر وقت یک کلاینت درخواست داد، سرور پاسخ رو به این کلاینت برگردونه.
اینکه به چه زبان و پلتفرمی کار انجام شه فعلا برام مهم نیست و فقط میخام بدونم چطور میتونم یک سرور ۲۴ ساعته در بستر اینترنت داشته باشم که هر وقت به عنوان کلاینت درخواستی رو بهش فرستادم بتونه جوابم رو بده.
من با پروتکل HTTP get با استفاده از Asp این سرور رو ساختم، اما برای Tcp به مشکل خوردم و حتما هم لازم دارم که برای کار خودم tcp باشه.
(مثلا فرض کنید وظیفه سرور اینه که هر بار که کلاینتی اضافه و یا کم میشه، تعداد کلاینت‌های باقیمونده باید بلافاصله به اطلاع همشون برسه. با استفاده از HTTP get کلاینت ها بلافاصله نمیتونند باخبر شن، بلکه طی یکسری بازه زمانی مثلا هر n ثانیه باید به سرور درخواست تعداد کلاینت های متصل بدند که هم سربار اینترنت خور زیادی داره و هم بصورت real time کلاینت ها باخبر نمیشن.

ممنون میشم که راهنماییم کنید.

anubis_ir
دوشنبه 23 بهمن 1396, 23:32 عصر
اين موردي كه عنوان كردي دقيقا كاري هست كه SignalR (http://www.dotnettips.info/courses/details/3) انجام مي‌ده.

ic_teta
سه شنبه 24 بهمن 1396, 20:13 عصر
اين موردي كه عنوان كردي دقيقا كاري هست كه SignalR (http://www.dotnettips.info/courses/details/3) انجام مي‌ده.



ممنونم از جواب خوبتون
تو لینک شما و دیگر سایت ها گشتم اما مثالی برای یک سرویس وب به چشمم نخورد، یعنی صفحه وبی رو لود نکنیم ولی بتونیم باهاش کانکشن برقرار کنیم و event های مدنظر رو به عنوان کلاینت ازش بگیریم.

مثلا فرض کنید من به عنوان یک کلاینت در یک نرم افزار چت با کلاینت دیگری می خواهم چت کنم و این سرور واسطه ما است.

باز هم میشه از SignalR استفاده کرد؟ و آیا لینک مثالی از این نوع که کار بکنه رو میشه برام بفرستید؟

من چون تو این زمینه مبتدی هستم نمی دونم با چه کلیدواژه‌هایی باید سرچ کنم.

anubis_ir
چهارشنبه 25 بهمن 1396, 18:09 عصر
SignalR دو قسمت داره. يك قسمت سمت سرور كه بهش Hub مي‌گن (يا همون وب سرويس دو طرفه شما). يك قسمت سمت كلاينت كه مي‌تونه jQuery باشه، يا برنامه كنسول يا حتي برنامه‌هاي موبايل و اندرويد جاوا. قسمت سمت سرور رو مي‌تونيد در يك برنامه وب هاست كنيد يا حتي در يك برنامه‌ي كنسول به صورت self host. در كل فناوري جامعي هست براي فرآيندهاي بلادرنگ. بايد وقت بذاريد لينكي رو كه دادم كامل مطالعه كنيد. بحث مفصلي هست.

ic_teta
پنج شنبه 26 بهمن 1396, 13:17 عصر
SignalR دو قسمت داره. يك قسمت سمت سرور كه بهش Hub مي‌گن (يا همون وب سرويس دو طرفه شما). يك قسمت سمت كلاينت كه مي‌تونه jQuery باشه، يا برنامه كنسول يا حتي برنامه‌هاي موبايل و اندرويد جاوا. قسمت سمت سرور رو مي‌تونيد در يك برنامه وب هاست كنيد يا حتي در يك برنامه‌ي كنسول به صورت self host. در كل فناوري جامعي هست براي فرآيندهاي بلادرنگ. بايد وقت بذاريد لينكي رو كه دادم كامل مطالعه كنيد. بحث مفصلي هست.



ممنونم از جوابتون