ورود

View Full Version : سوال: تبادل داده با WiFi



c0mmander
یک شنبه 11 خرداد 1393, 17:48 عصر
سلام دوستان بعد از روشن کردن وای فای و اتصال دو دستگاه از چه راه هایی میتوان به تبادل اطلاعات بصورت sever client پرداخت؟(تمرکز برنامه برای ارتباط دو موبایل هست)

rubiks.kde
یک شنبه 11 خرداد 1393, 18:08 عصر
دوست عزیز بارها و بارها این سوال تکرار شده.

یکی از راه ها و رایج ترین راه استفاده از سوکت است.شما در یک برنامه سرور روی پورت مشخصی شروع به گوش کردن میکنید و بعد در کلاینت ها با داشتن آی پی سرور و همون پورت اقدام به برقراری ارتباط میکنید.

c0mmander
یک شنبه 11 خرداد 1393, 18:17 عصر
دقیقا مشکل من هم همین جاست که بعد از برقراری سوکت و ارتباط داده ای رو نمیتونم ارسال و دریافت کنم.

rubiks.kde
یک شنبه 11 خرداد 1393, 18:22 عصر
به چه صورت عمل میکنید؟

c0mmander
یک شنبه 11 خرداد 1393, 18:30 عصر
1- روشن کردن وای فای 2- اتصال 3- ایجاد سوکت 4- سمت کلایت اتصال به سرور 5- فراخوانی کردن beging send و 6- فراخوانی send call back و 7- خاتمه و کشتن سوکت.

c0mmander
یک شنبه 11 خرداد 1393, 18:33 عصر
در حقیقت اول میخواستم روی آی پی یک وب سرویس بگزارم که هیچ داکیومتی رو برای mono پیدا نکردم . بعد گفتم بصورت ارسال داده انجام میدم که مثلا با لپ تاپ به سرور وصل میشم دیگه نیمتونم با برنامه سمت موبایل دیگه ای وصل بشم یا برعکس.

rubiks.kde
یک شنبه 11 خرداد 1393, 21:26 عصر
در حقیقت اول میخواستم روی آی پی یک وب سرویس بگزارم که هیچ داکیومتی رو برای mono پیدا نکردم . بعد گفتم بصورت ارسال داده انجام میدم که مثلا با لپ تاپ به سرور وصل میشم دیگه نیمتونم با برنامه سمت موبایل دیگه ای وصل بشم یا برعکس.

متوجه منظورتون نشدم ؟ یعنی یه سرور و یه کلاینت تنها ؟؟

توی پستهای قبلی نگاه کنید مثال هایی گذاشتم که میتونه کمکتون کنه

c0mmander
دوشنبه 12 خرداد 1393, 09:04 صبح
من میخواستم بین دوتا گوشی یک حالت چت صوتی رو با استفاده از وای فای بوجود بیارم .

اومدم صدا رو از میکروفن خوندم و داخل یک متغیر بافر ذخیره کردم و هر 3 ثانیه بافرم رو ارسال میکردم . مشکل این بود که نمیخواستم اگر چند تا سیستم داشتم مثلا 3 تا گوشی که یکی سرور میشد و بقیه کلاینت ارسال داده داشتم فقط در آن واحد یک کلاینت و یک سرور با هم ارتباط برقرار میکردن و بقیه هیچی شنیده نمیشد.

میخواستم بصورت یک وب سرور برنامه سرور رو بنویسم مثلا مثل یک ip voice یا یک ip cam درست کنم و که بلد نبودم :)) برای همین بازم مجبور شدم از همون روش قدمیه UDP برای ارسال داده ها استفاده کنم.

rubiks.kde (http://barnamenevis.org/member.php?231180-rubiks-kde) عزیز دستت درد نکنه بالا خره مشکل رو فهمیدم مشکل از ایجاد نکردن نخ بود :لبخند: چون تکراری بود تاپیکه و قبلا هم جواب داده بودی اگر خواستی حذفش کن.پ

بازم تشکر

c0mmander
سه شنبه 13 خرداد 1393, 23:00 عصر
دوستان من یک مشکلی بهش برخوردم که این یکی رو واقعا جستجو کردم اما هیچ راه حلی پیدا نکردم ..

چطوری میشود از صدا رو انتقال داد؟؟
منظورم اینه که چطوری بصورت سنکرون یا اگر هم با یک تاخیر کمی انسینکرون صوت رو ارسال کرد..
روش که من انجام دادم این بود:

چون صدا نیازی به صحت ارسال نداره از پروتکل UDP استفاده کردم .

و آرایه ای که از میکروفن خوندم بصورت بایت به سرور ارسال کردم و اون رو بافر کردم اما مشکل بسیار بزرگ وجود داره برای بخش شدن باید اول داده ها رو ذخیره کنم و بعد پخش کنم که این خیلی بده چون صدا باید بصورت تقربا لحظه (مثل تلفن زدن) باشه

دوستان اصلا این شیوه درسته ؟؟!
راه بهتری نیست ؟!
اصلا چطوری میتونم این صدا رو لحظه پخش کنم؟

rubiks.kde
سه شنبه 13 خرداد 1393, 23:56 عصر
این کاری که میکنید یکم نیاز به تحقیق داره.
من قبلا این کار رو کردم و برنامه های Voip (voice over ip) نوشتم ولی از پروتکل های استاندار استفاده کردم.
برای این کار بهتره یکم در مورد VoIP و پروتکل های اون تحقیق کنید و ببینید چطوری میشه صدا رو به صورت real time انتقال بدید.
من خودم از کتابخانه های sip stack موجود استفاده کردم.