PDA

View Full Version : کنترل و تفکیک دیتای دریافت شده



M.T.P
سه شنبه 21 اردیبهشت 1389, 19:51 عصر
دوستان من یک برنامه Client و Server دارم که وقتی بصورت زیر با سرور به کلاینت پیام میفرستم:



WskServer.SendData "123"
WskServer.SendData "456"


کلاینت این دو پیغام رو در یک پیام دریافت میکنه یعنی بصورت "123456" :ناراحت:
چطور باید دیتا و اطلاعات دریافت شده رو کنترل و تفکیک کرد؟:متفکر:

مهران رسا
دوشنبه 03 خرداد 1389, 08:12 صبح
دوستان من یک برنامه Client و Server دارم که وقتی بصورت زیر با سرور به کلاینت پیام میفرستم:



WskServer.SendData "123"
WskServer.SendData "456"


کلاینت این دو پیغام رو در یک پیام دریافت میکنه یعنی بصورت "123456" :ناراحت:
چطور باید دیتا و اطلاعات دریافت شده رو کنترل و تفکیک کرد؟:متفکر:

قبل از ارسال اطلاعات رو با حروف خاص نشانه گذاری کنید .


WskServer.SendData "#pck1#123#"
WskServer.SendData "#pck2#456#"

و یا به این صورت :


WskServer.SendData "123"
WskServer.SendData "#"
WskServer.SendData "456"

M.T.P
دوشنبه 03 خرداد 1389, 11:25 صبح
یعنی منظورتون اینه که که نشونه گذاری کنم بعد از سیستم مقصد اونها رو Split کنم؟
یعنی راهه دیگه ای نیست؟ البته این مشکل به نظرم از طرف Sender نیست و این Receiver هست که باید دیتا رو تفکیک شه بگیره. :متفکر:

مهران رسا
دوشنبه 03 خرداد 1389, 11:32 صبح
یعنی منظورتون اینه که که نشونه گذاری کنم بعد از سیستم مقصد اونها رو Split کنم؟
یعنی راهه دیگه ای نیست؟ البته این مشکل به نظرم از طرف Sender نیست و این Receiver هست که باید دیتا رو تفکیک شه بگیره. :متفکر:
راهش همینه .

M.T.P
سه شنبه 04 خرداد 1389, 12:36 عصر
با گذاشتن DoEvents قبل و بعد از SendData مشکل برطرف شد.

مهران رسا
سه شنبه 04 خرداد 1389, 16:26 عصر
با گذاشتن DoEvents قبل و بعد از SendData مشکل برطرف شد.
نهایتاً شما نیاز دارید تا اطلاعات دریافتی رو تفکیک کنید . پس بهتره از اول بسته ها علامت گذاری بشن.

موفق باشید

FinalMOB
چهارشنبه 05 خرداد 1389, 16:00 عصر
یعنی منظورتون اینه که که نشونه گذاری کنم بعد از سیستم مقصد اونها رو Split کنم؟
یعنی راهه دیگه ای نیست؟ البته این مشکل به نظرم از طرف Sender نیست و این Receiver هست که باید دیتا رو تفکیک شه بگیره. :متفکر:

با سلام خدمت جناب پارسی لورد عزیز :چشمک:
حرف جناب M8SPY کاملا درسته ولی جواب جناب پارسی لورد رو با اجازه بنده می دم:
دقیقا نمی دونم مشکلی که اینجا بوجود میاد، از ریسیوره یا سندر ولی هر چی است، مشکل اینجاس که وقتی سندر یه اطلاعاتی رو می فرسته، یه فاصله زمانی خیلی کم طول می کشه که فرستاده بشه، حالا شما وقتی بلافاصله یک بسته ی دیگه رو می فرستید ممکنه دو حالت پیش بیاد که مطمئن نیستم کدومش باشه:لبخند::
یا اینجوریه که سندر هر دو بسته رو تبدیل به یک بسته می کنه
و یا اینکه ریسیور دو تا بسته دریافت می کنه ولی فکر می کنه که اینا به هم چسبیدن:متفکر: :لبخند:

شما باید بعد از هر بسته ای که می فرستی یه مدت زمان خیلی کم، مثلا نیم ثانیه صبر کنی (به کمک تایمر) و بعد بسته ی بعدی رو بفرستی.
چند وقت پیش خودم این مشکل رو داشتم و اینجوری حلش کردم :متفکر:

موفق باشید.

daniyal_1363
یک شنبه 09 خرداد 1389, 18:49 عصر
شما باید بعد از هر بسته ای که می فرستی یه مدت زمان خیلی کم، مثلا نیم ثانیه صبر کنی (به کمک تایمر) و بعد بسته ی بعدی رو بفرستی.
چند وقت پیش خودم این مشکل رو داشتم و اینجوری حلش کردم :متفکر:

موفق باشید.

جوابشون کاملاً درسته

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