PDA

View Full Version : حرفه ای: افزودن امکان ویدئو کنفرانس (قبلاً جستجو کردم)



mohammad.sakhidel
شنبه 26 دی 1388, 16:58 عصر
سلام به همگی
من دارم برنامه ای مینویسم برای یه صنف خاص که علاوه بر استفاده های کاربردیش ، اعضای مختلف این صنف رو که از این برنامه استفاده میکنن به هم ارتباط میده ، این برنامه Windows Application هستش و دیتابیسم که SQL Server هست روی هاست قرار داره ، حالا اینا میخوان یه امکانی باشه که دو تا کاربر بتونن با وب کم با هم ارتباط ویدئویی داشته باشن ، تو سایت جستجو کردم ولی اون چیزی که میخواستم پیدا نشد و یه مورد بود که اونم توی شبکه محلی بود :ناراحت: اساتید لطفاً راهنمایی کنن ، آیا کامپوننتی برای این منظور وجود داره؟ ممنون.

kia1349
شنبه 26 دی 1388, 17:58 عصر
خوب شما یه توضیح بده که وب کم رو توی چه محیطی میخوان داشته باشن
lan,internet,.......؟

kia1349
شنبه 26 دی 1388, 18:15 عصر
http://69.10.233.10/KB/IP/Video_Voice_Conferencing.aspx
http://69.10.233.10/KB/IP/Video_Voice_Conferencing.aspx?msg=2606190

mohammad.sakhidel
شنبه 26 دی 1388, 18:27 عصر
خوب شما یه توضیح بده که وب کم رو توی چه محیطی میخوان داشته باشن
lan,internet,.......؟

صد در صد رو اینترنت ، تو توضیحاتم گفتم که برای یک صنف خاص که دیتابیس رو هاسته و از طریق اینترنت با هم ارتباط دارن.


http://69.10.233.10/KB/IP/Video_Voice_Conferencing.aspx
http://69.10.233.10/KB/IP/Video_Voice_Conferencing.aspx?msg=2606190

اگه میشه یه توضیح مختصر در مورد لینکا بدین لطفاً.

mir555
شنبه 26 دی 1388, 18:41 عصر
احتمالا اگه یک وب سرویس رو هاست بزاری کاربرا وصل بشن به اون و اونجا آی پی هر دو تاشون بگیری چون کلاینت وصل میشه ریموت آی پی میشه کلایت حالا تو هر کدوم یک پورت upd برای سرور ویکی برای کلاینت باید بسازی اینجوری می تونی ویدیو انتقال بدی بدون آی پی ولید

mohammad.sakhidel
شنبه 26 دی 1388, 18:53 عصر
احتمالا اگه یک وب سرویس رو هاست بزاری کاربرا وصل بشن به اون و اونجا آی پی هر دو تاشون بگیری چون کلاینت وصل میشه ریموت آی پی میشه کلایت حالا تو هر کدوم یک پورت upd برای سرور ویکی برای کلاینت باید بسازی اینجوری می تونی ویدیو انتقال بدی بدون آی پی ولید

ممنون ، نکته اول اینکه احتمالش چقدره که راهش این باشه که احیاناً بیراهه نرم چون واقعاً با کمبود وقت مواجهم ، منظور شما از UPD هم همون UDP هستش احتمالاً.
اساتیدی که قبلاً این کارو کردن لطفاً کمک کنین.

kia1349
یک شنبه 27 دی 1388, 16:07 عصر
جناب محمد خان ، یه نگاهی هم به این لینک بنداز فکر کنم خیلی مثال جامعی باشه

http://www.codeproject.com/KB/audio-video/igotmessage.aspx

mir555
یک شنبه 27 دی 1388, 17:33 عصر
آره منظورم UDP بود اشتباه تایپی بودش
مطمئنم این روش جواب می ده من تو یک پروژه برای انتقال اطلاعات از یک کامپیوتر تو اینترنت از این روش استفاده کردم بدون ip valid تو اونجا هم یک سری داده مربوط به یک دستگاه بود که باید اینجا مانیتور می شد UDP برای انتقال اطلاعات با سرعت بالا و دقت کم مناسبه چون اگه یک پکت خراب بشه شاید یک خش تو تصویر دیده بشه که بهتر از اینه که کامل قطع بشه
منم علاقه مند شدم به این پروژه می خوای با هم برای انتقال تصویر همکاری کنیم البته الان درگیرم 2 هفته دیگه یکم آزاد می شم

mohammad.sakhidel
یک شنبه 27 دی 1388, 17:55 عصر
جناب محمد خان ، یه نگاهی هم به این لینک بنداز فکر کنم خیلی مثال جامعی باشه

http://www.codeproject.com/KB/audio-video/igotmessage.aspx

جناب کیا جان :چشمک: مرسی ، یه نگاه کوچولو بهش انداختم الان میرم کامل مطالعش کنم فک کنم مفید باشه


آره منظورم UDP بود اشتباه تایپی بودش
مطمئنم این روش جواب می ده من تو یک پروژه برای انتقال اطلاعات از یک کامپیوتر تو اینترنت از این روش استفاده کردم بدون ip valid تو اونجا هم یک سری داده مربوط به یک دستگاه بود که باید اینجا مانیتور می شد UDP برای انتقال اطلاعات با سرعت بالا و دقت کم مناسبه چون اگه یک پکت خراب بشه شاید یک خش تو تصویر دیده بشه که بهتر از اینه که کامل قطع بشه
منم علاقه مند شدم به این پروژه می خوای با هم برای انتقال تصویر همکاری کنیم البته الان درگیرم 2 هفته دیگه یکم آزاد می شم

ممنون از توجهی که داری با اینکه سرت هم شلوغه ، در مورد همکاری باید بگم که شدیداً ازش استقبال می کنم نه فقط تو این پروژه.
در این مورد هم میرم دنبال سر نخایی که شما دوستان دادین و از گوگل و ... سوالامو میپرسم.
بازم ممنون و اگه مشکلی بود تنهام نظارین :لبخندساده:
البته اگه به نتایجی رسیدم حتماً سورسش رو برای کمک به بقیه میذارم اینجا. فعلاً

mohammad.sakhidel
یک شنبه 27 دی 1388, 21:29 عصر
دوستان یه چیزایی دستم اومد : بصورت کلی :

1. اولاً باید از مولتی تردینگ استفاده کنیم.
2. تصویر وب کم رو هر چند میلی ثانیه بگیریم (میشه یه pic) ، از طریق پروتکل UDP ارسال می کنیم و البته گیرنده هم همینطوری دریافتش میکنه ، اینجا باید یه Thread جداگانه با یه حلقه true همیشه پورت رو چک کنه.

// کامپوننت برای کار با وب کم هم پیدا کردم وقتی بصورت جزئی هم :چشمک: پیادش کردم براتون میذارم.
// فقط یه مشکل کوچیک ، این کد رو نگا کنین :


public partial class Form1 : Form
{

//***********************************
System.Net.Sockets.UdpClient send, recieve;
System.Net.IPEndPoint sendpt, recievept;
//***********************************

public Form1()
{
InitializeComponent();
}

private void button2_Click(object sender, EventArgs e)
{
try
{
string filePath = @"C:\test.gif";
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
byte[] pic = br.ReadBytes((int)fs.Length);
fs.Close();
br.Close();
//////////////////////////
send = new System.Net.Sockets.UdpClient();
sendpt = new IPEndPoint(IPAddress.Parse("192.168.1.3"), 3333);
send.Send(pic, pic.Length, sendpt);
send.Close();
MessageBox.Show("ارسال شد");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}در این قطعه کد ، من برای تست فقط میخوام یه تصویری رو بصورت باینری ارسال کنم ، سوال من اینه که اون شماره پورتی که به عنوان ورودی به متد سازنده کلاس IPEndPoint ارسال میکنیم چیه؟ از کجا باید بدستش آورد؟ یعنی این خط کد :


sendpt = new IPEndPoint(IPAddress.Parse("192.168.1.3"), 3333);که در اینجا اون شماره پورت 3333 هستش.
:متفکر:

البته هنوزم 100% مطمئن نیستم این چیزایی که گفتم درست باشه ها :خجالت: ولی واسه قدم اول بد نبود.

kia1349
دوشنبه 28 دی 1388, 06:43 صبح
فکر کنم اینها شماره پورتهایی است که هر کدام برای یه منظور خاصی در نظر گرفته شده.توی برنامه ها و مثالهای مختلف برای موضوع سوکت پروگرمینگ و چت و ... من هم پورتهای زیادی دیدم که برنامه نویس از اونها استفاده کرده.فکر کنم باید یه مطالعه روی پورتها و نقش هر کدوم توی برنامه نویسی چت و ... داشته باشیم.من سعی میکنم اطلاعاتی توی این زمینه پیدا کنم و اگه چیزی بدست آوردم برای اطلاع همینجا قرار میدم.فقط اگر از دوستان برنامه نویس کسی اطلاعاتی در این زمینه داره ممنون میشم که در همین جا قرار بده.فکر کنم کلا مطلب خوبی از آب در بیاد

sg.programmer
دوشنبه 28 دی 1388, 10:14 صبح
سلام به همگی

نگاه کن در هر کامپیوتری از 1تا 65536 امکان آدرس دهی به پورت داری
که این پورت ها در حقپقت همون برنامه ای هست که اجرا شده و داره به اون پورت گوش میده
سعی کن با پورت های زیر 1000 کار نکنی چون بعضی از پورت ها برای برنامه های خاصی می باشد مثلا 20 و 25 و .. برای SMTP , Telnet
یا مثلا 5050 برای مسنجر یاهو هست
پس در سطح شبکه هر برنامه با این پورت ها شناخته می شن

kia1349
دوشنبه 28 دی 1388, 12:28 عصر
منم به همین نتیجه رسیدم.یک سری از پورت ها بصورت یک قاعده برای یه کارهایی در نظر گرفته شده اند که برای جلوگیری از تداخل کاری نباید سراغ اونها رفت.
یه فایل ضمیمه کردم که پورتهای رزرو شده رو توش نوشته و قاعدتا بقیه آزادن

mir555
دوشنبه 28 دی 1388, 15:39 عصر
هر IP که ما رو کامپیوتر داریم می شه به دو صورت باهاش ارتباط بر قرار کرد tcp و udp که هر کدوم توضیح خاص خودشو داره که راحت میشه پیدا کرد.
هر ip در tcp شامل 65535 پورت و در udp 65535 پورت داریم هر برنامه می تونه باری خودش یک پورت باز کنه و برای ارسال اطلاعات از اون استفاده کنه وقتی ما می خوایم از یک Ip به یک Ip دیگه (در هر دو حالت tcp,udp) متصل بشیم یک پورت به عنوان سرویس دهنده رو یکی باز میشه و آماده برای ارتباط هست و کلاینت هم یک پورت از کامپیوتر خودشو باز می کنه که از طریق اون به سرور (کامپیوتر اول ) وصل بشه
امیدوارم سر نخ لازم بدستت اومده باشه
حتمی موفق میشی!!

mohammad.sakhidel
شنبه 03 بهمن 1388, 11:39 صبح
سلام دوستان برگشتم
قبل از هرچیز بگم که تأخیرم بخاطر امتحانای دانشگاه بود :ناراحت:
کارش داره تقریباً تموم میشه عزیزان (یه Messenger ساختن به این راحتی بود و ما نمیدونستیم؟ :چشمک: ) ، فقط الان یه مشکل دارم :
من در ارسال بایت هام باپروتکل UDP هیچ مشکلی ندارم ، ولی از اونجایی که همزمان حداقل یک Thread باید داشته باشم واسه گوش دادن به پورت (thread های دیگه ای هستن مثلاً برای اضافه کردن و کم کردن یوزر های آنلاین ولی ربطی به مشکل الان من ندارن) ، این Thread دارای یه حلقه true هستش ، وقتی این ترد Start نشده باشه ، بایت هام به درستی ارسال میشن (تست کردم کاملاً) ، ولی وقتی ترد Listener رو استارتش میکنم ، بایت هام ارسال نمیشه ، چرااااا؟؟ :متعجب:

kia1349
شنبه 03 بهمن 1388, 12:30 عصر
فکر کنم ترد Listener از ابتدا باید استارت باشه و به مقتضیات برنامه هر کجا که لازمه سایر thread ها استارت بشن تا لطمه ای به ترد اصلی نخوره

mir555
شنبه 03 بهمن 1388, 13:12 عصر
پورت listener و client نباید یکی باشه ها اینو کنترل کن

mohammad.sakhidel
شنبه 03 بهمن 1388, 13:54 عصر
فکر کنم ترد Listener از ابتدا باید استارت باشه و به مقتضیات برنامه هر کجا که لازمه سایر thread ها استارت بشن تا لطمه ای به ترد اصلی نخوره

همین کارو میکنم ، توی رخداد لود فرمم ترد های لازم رو start میکنم :



private void F_ChatRoom_Load(object sender, EventArgs e)
{
try
{
thListener = new Thread(new ThreadStart(ListenToPort));
thListener.Start();
thFillDataGridView = new Thread(new ThreadStart(Fill_DataGridView_With_ListOfHashtable s));
thFillDataGridView.Start();
thCheckUsers = new Thread(new ThreadStart(CheckUsers));
thCheckUsers.Start();
}
catch
{
}
}


و وقتی رو ارسال کلیک میشه ترد مربوط به ارسال رو start میکنم :


private void btnSend_Click(object sender, EventArgs e)
{
try
{
thSendPM = new Thread(new ThreadStart(SendPMMessage));
thSendPM.Start();
}
catch
{
}
}



پورت listener و client نباید یکی باشه ها اینو کنترل کن

دوست من منظورت همون شماره پورتیه که دوتا کلاینت برای ارسال و دریافت ازش استفاده میکنن؟ اگه اینطور باشه که امکان نداره :متفکر: چونکه :
من تو برنامم ی چت روم مثل ماله yahoo messenger (رقیبم:چشمک:) دارم ، و این فرم هم وظیفه ارسال و هم وظیفه دریافتو داره (به شکل یه نگا بندازین) حالا وقتی کلاینت شماره 1 ، داده هارو ارسال میکنه اونور کلاینت شماره 2 از طریق همون پورت دریافتش میکنه و برعکس ، حالا مگه میشه کلاینت 1 اطلاعات رو از طریق پورت شماره N بفرسته و کلاینت 2 به پورت دیگه ای گوش کنه؟؟؟؟؟ مگه این شمارهپورت ها همون درگاه ارتباطی دو کلاینت نیستن؟ :گیج:

kia1349
شنبه 03 بهمن 1388, 17:03 عصر
عکس نشون میده که برنامه شما فقط پیام رد و بدل میکنه .جائی برای ارسال فایل نداره که؟!
برای ارسال فایل باید پورتی به غیر از پورت مربوط به ارسال پیام رو به کار بگیری

mohammad.sakhidel
شنبه 03 بهمن 1388, 17:58 عصر
عکس نشون میده که برنامه شما فقط پیام رد و بدل میکنه .جائی برای ارسال فایل نداره که؟!
برای ارسال فایل باید پورتی به غیر از پورت مربوط به ارسال پیام رو به کار بگیری

گفتم که در حال نوشتنم ، ارسال پیام با تصویر هیچ فرقی نداره ، PM هم به صورت بایت ارسال میشه (خود پیام و خصوصیاتی مثل فونت و رنگ و ...) ، اگه این مشکل درمورد پیام حل بشه به راحتی برای تصویر و .... هم خودبخود حله ، فقط باید برای تصویر یه پورت جدا در نظر بگیریم. مثل اینکه مشکل منو متوجه نشدین ، مشکل اینه که وقتی که پیام (یا فایل یا هرچی) ارسال میشه اگه تردی درحال گوش دادن به پورت باشه (که حتماً باید باشه) ارسال انجام نمیشه. چرا؟؟؟ چه تفاقی میفته این وسط؟ هیچ Exceptionی هم دریافت نمیکنم. :متفکر: :متفکر: :متفکر: :متفکر: :متفکر:

Rejnev
شنبه 03 بهمن 1388, 18:23 عصر
سلام
من زمانی یک برنامه چت ساده با وی بی 6 نوشتم (yahoo ایده اش رو دزدید نامرد:چشمک:) ، خلاصه دو تا پورت رو مشغول میکردم یکی برای ارسال و فقط میشد ارسال کنی و در اونطرف مقصد میشنید. و یکی هم برای دریافت که مقصد میفرستاد و ما میشنیدیم. حالا شما چند تا پورت رو مشغول کردین؟
در ضمن یک پروتکل هم برای ارسال اطلاعات نوشته بودم(:لبخندساده:)، مثلا به بایتهایی که از فایل برای ارسال میخوندم header میزدم

mohammad.sakhidel
شنبه 03 بهمن 1388, 18:44 عصر
سلام
من زمانی یک برنامه چت ساده با وی بی 6 نوشتم (yahoo ایده اش رو دزدید نامرد:چشمک:) ، خلاصه دو تا پورت رو مشغول میکردم یکی برای ارسال و فقط میشد ارسال کنی و در اونطرف مقصد میشنید. و یکی هم برای دریافت که مقصد میفرستاد و ما میشنیدیم. حالا شما چند تا پورت رو مشغول کردین؟
در ضمن یک پروتکل هم برای ارسال اطلاعات نوشته بودم(:لبخندساده:)، مثلا به بایتهایی که از فایل برای ارسال میخوندم header میزدم

ماکه یه برنامه بیشتر نداریم درسته؟ این برنامه روی دوتا (n تا) سیستم نصب خواهد شد ، بازم میگم یک برنام (یک یک یک یک یک یک یک یک فقط یک) نه دو تا برنامه جداگانه که یکی مخصوص دریافت و دیگری برای ارسال باشه ، این برنامه هم باید ارسال کنه و هم دریافت :عصبانی++: :عصبانی++: :عصبانی++: :عصبانی++: :عصبانی++: :عصبانی++: :عصبانی++: یکم روش فکر کنین معلوم میشه چی میگم خداااااا.
ببینین یه مثال میزنم و با برهان خلف اثبات میکنم که نمیشه (:لبخند: نمردیم و این اثباتا هم بدرد خورد) :
فرض : برنامه نصب شده روی کلاینت ها یکسان است : P(A) = P(B)
فرض خلف : فرض میکنیم که بشه دو تا پورت جداگانه داشت ، پورت شماره N و M.
حالا کلاینت A و کلاینت B دارن با هم چت میکنن و حالشو می برن (ویدئو کنفرانس یا هرچی ...) ، کلاینت A از طریق پورت N میفرسته و B هم از پورت N طبیعتاً میگیردش ، و B از طریق پورت M میفرسته و A هم از این پورت میگیردش.
حالا با توجه به فرضمون ، چون برنامه A و B یکی هستن پس پورت های خروجیشون یعنی M و N هم یکی هستن پس نتیجه اینکه :
نمیشه از دوتا پورت جداگانه برای دریافت و ارسل استفاده کرد.
توروخدا یکم بهش فکر کنین. آخه چه دلیلی می تونه داشته باشه؟؟ آیا تو تا ترد نمیتونن از یه پورت مشترکاً استفاده کنن؟ برای دسترسی شون از دلیگیت ها هم استفاده کردم نشددددد. کمک کنین.

Rejnev
شنبه 03 بهمن 1388, 19:00 عصر
فرض : برنامه نصب شده روی کلاینت ها یکسان است : P(A) = P(B)
فرض خلف : فرض میکنیم که بشه دو تا پورت جداگانه داشت ، پورت شماره N و M.
حالا کلاینت A و کلاینت B دارن با هم چت میکنن و حالشو می برن (ویدئو کنفرانس یا هرچی ...) ، کلاینت A از طریق پورت N میفرسته و B هم از پورت N طبیعتاً میگیردش ، و B از طریق پورت M میفرسته و A هم از این پورت میگیردش.

پس سرور چی کاره است؟
من برای راحتی کار گفتم
مدل من میگه:هر برنامه ای که روی هر کلاینت نصب میشه باید پورت ارسالش به سرور مثلا 1001 و پورت دریافتش از سرور مثلا 1003 مشخص بشه.
برهان عقل میگه:
همه کلاینت ها باید پورت هاشون یکی باشه دیگه؟ نه؟
پس سیستم A و سیستم B هر دو
پورت 1001 برای ارسال و پورت 1003 برای دریافت از طریق سرور یعنی چی یعنی کلاینتها هم دیگه رو نمیبینند. و سرور وظیفه دریافت و ارسال رو داره.
سرور از از 1001 میشنوه و به 1003 میفرسته
کلاینت به 1001 میفرسته و از 1003 میشنوه
جری یانگ تو که ایده منو تکمیل کردی بیا توضیح بده

mohammad.sakhidel
شنبه 03 بهمن 1388, 19:09 عصر
پس سرور چی کاره است؟
من برای راحتی کار گفتم
مدل من میگه:هر برنامه ای که روی هر کلاینت نصب میشه باید پورت ارسالش به سرور مثلا 1001 و پورت دریافتش از سرور مثلا 1003 مشخص بشه.
برهان عقل میگه:
همه کلاینت ها باید پورت هاشون یکی باشه دیگه؟ نه؟
پس سیستم A و سیستم B هر دو
پورت 1001 برای ارسال و پورت 1003 برای دریافت از طریق سرور یعنی چی یعنی کلاینتها هم دیگه رو نمیبینند. و سرور وظیفه دریافت و ارسال رو داره.
سرور از از 1001 میشنوه و به 1003 میفرسته
کلاینت به 1001 میفرسته و از 1003 میشنوه

گفتی سرور؟ :متفکر:
من از دوتا UDPClient استفاده میکنم که مستقیماً از طریق IP هاشون با هم در ارتباطن ، راستش گیج شدم. یکم توضیح بیشتر بدی ممنون میشم. دوستای دیگه هم نظر بدن ، اونوقت اگه سرور بیاد وسط انتقال دیتا چجوری میشه؟؟؟؟ من اصلاً برنامه ای رو سرور ندارم که این کارو بکنه :متفکر: من دوتا برنامه (n تا) دارم که Windows Application هستن. نکنه منظور شما اینه که داده ها توی یه DB رو سرور ذخیره شن و همه ببیننش؟؟؟

Rejnev
شنبه 03 بهمن 1388, 19:19 عصر
گفتی سرور؟ :متفکر:
من از دوتا UDPClient استفاده میکنم که مستقیماً از طریق IP هاشون با هم در ارتباطن ، راستش گیج شدم.
با این روش کلاینت ها باید IP معتبر داشته باشند که غیر ممکنه و برنامه شما روی اینترنت کار نمیکنه و فقط روی شبکه محلی کار میکنه.
-باید یک سرور داشته باشی با یک IP معتبر.
-یک برنامه که توی سرور اجرا میشه و پیامهایی که از طرف کلاینتها میاد رو دریافت میکنه و اگه خواستی میتونی ذخیره هم بکنی(برای ارسال در آینده)
خب این بسته ها یک مقصد هم دارند دیگه؟!
پس به بسته ها header مقصد رو هم اضافه میکنی. این هدر چی هست؟ اطلاعات شخصی که در سایت عضوه و شناخته شده است. مثلا آقای X یک پیام به Y میفرسته. ما توی هدر نام آقای Y رو میذاریم. در سرور بسته دریافت شده و میفهمیم که مال آقای Y هست. پس هر وقت آقای Y وارد شد و یا اگر پیش از این وارد شده و session ای برایش ایجاد شده میتونیم پیام رو براش بفرستیم.
راستش ویدئو کنفرانس رو نمیدونم چطوری میشه پیاده کرد.

kia1349
یک شنبه 04 بهمن 1388, 07:21 صبح
ببین دوست عزیز
من یه برنامه چت که بدون سرور کار میکنه توی سایت گذاشتم
این برنامه کامپیوترهای شبکه رو لیست میکنه و اگر برنامه چت روی هردو کامپیوتری که قصد چت دارن نصب شده باشه اونوقت میتونن با هم چت کنن و به هم دیگه فایل ارسال کنن اونم بدون دخالت سرور
در حقیقت سروری وجود نداره و دو کامپیوتر با هم از طریق همین برنامه ارتباط برقرار میکنن
خوب سورس برنامه رو مطالعه کن انشاءالله مشکلت حله حله
اصل این برنامه با وی بی دات نت بوده(توی سایت codeproject) که من به سی شارپ تبدیلش کردم
http://barnamenevis.org/forum/showthread.php?t=198512
منو هم در جریان قرار بده.یه قولی دادیم که تا هرکجا سوادمون قد بده کمک کنیم پاش هم وایسادیم

sg.programmer
یک شنبه 04 بهمن 1388, 09:45 صبح
با این روش کلاینت ها باید IP معتبر داشته باشند که غیر ممکنه و برنامه شما روی اینترنت کار نمیکنه و فقط روی شبکه محلی کار میکنه.
-باید یک سرور داشته باشی با یک IP معتبر.


سلام
میشه یه کم توضیح در مورد IP Valid بدید
وچطوری میشه تو اینترنت برنامه چت درست کرد
تشکر

Rejnev
یک شنبه 04 بهمن 1388, 10:20 صبح
سلام
طبق کلاس بندی های IP ما هیچ یک IP Valid نداریم. فقط اون ISP ای که ازش سرویس میگیریم IP Valid داره.
ما هم جزو زیر شبکه اون ISP هستیم. پس ISP مارو میشناسه. یعنی وقتی یک تقاضا به یک سرور میفرستیم به ISP رفته، ISP تقاضا رو با IP Valid خودش به مقصد میفرسته و مقصد هم پاسخ رو به ISP و ISP به ما.
حالا شما میخواید یک پیام رو به یک کلاینت که زیر مجموعه یک ISP هست بفرستید. بدون داشتن IP معتبر توی اینترنت غیر ممکنه. برنامه ای که kia1349 در بالا گفتن توی فقط توی شبکه محلی کار میکنه.
بدون ورود به یک سایت واسط ممکن نیست. ما .ارد سایت میشیم و سایت ما رو با IP ISP شناسایی میکنه و اگه پیامی بود برای ما میفرسته.

kia1349
یک شنبه 04 بهمن 1388, 13:29 عصر
دقیقا
من توی توضیحات این برنامه(همون جائی که آدرس و لینکشو دادم) کاملا به این اشاره کردم که این برنامه چت روی شبکه lan کار میکنه
البته بیشتر قصدم این بود که دوستان به نحوه کد نویسی و الگوریتم برنامه توجه کنند

mannamanam
دوشنبه 08 اسفند 1390, 07:44 صبح
سلام بچه ها من موضوع پروژه لیسانسم همین سوکت استاد هم گفته باید توپ باشه من اصلا نمیدونم درباره چی باشه کمککککککککککککککککککککککک کککککککککککک
خودم بنویسم؟کمکم کنید .......................