تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 4 1234 آخرآخر
نمايش نتايج 1 به 10 از 34

نام تاپيک: کار کردن با سوکت در asp.net

  1. #1
    حـــــرفـه ای dogtag's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    مرز غربی تهران بزرگ! ایمیل: goodboy.php@gmail.com اسپم ها: 2,200!!! :دی
    پست ها
    2,277

    پيش فرض کار کردن با سوکت در asp.net

    ُسلام
    من می خوام با سوکت وصل بشم به یه صفحه (مثلاً forum.p30wold.com:80)
    و براش این رو بفرستم:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    و هر چی میده رو بگیرم و بدم به Response.write که بریزه اش رو صفحه

    همون طور که می دونید، این کد، دقیقاً همون کاریه که Browser تون وقتی که بالاش می نویسی:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    خودکار همین ها رو انجام میده

    من تا اینجای کار تونستم کانکت بشم، درخواست رو write کنم، طول جواب اومده از سرور رو هم بگیرم ولی نمی تونم بخونمش
    مثل این می مونه که تو یه حلقه بی نهایت گیر کنی

    این یه ور ماجراست
    این هم حل بشه خودش کلی ه

    ---------------------------------------------------------------------------------

    قضیه یه اینور هم داره:
    1- چجوری کانکشن Async بسازم؟ و ازش چجوری استفاده کنم؟
    2- اگر بخوام 1000 نفر هم زمان از این استفاده کنم، باید چه کنم؟


    مرسی
    منتظر جواب اساتیدی چون ultimator و h2 و اگر بشه، shalineh


    توی PHP خیلی ماجرا راحت تر از اینجا است

    دوباره مرسی

  2. #2
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    هنوز منتظر جواب هستید و مشکلتان حل نشده؟؟؟؟؟
    هم میتوانم نمونه مستقیم و البته کمی طولانی سوکت را برایتان بگذارم و هم نمونه راحت یک یا دوخطی که آدرس را بگیرد و String حاوی Html را باز گرداند...؟؟؟؟


    ضمناً دوستان دیگر هم که در این تالار قبلاً سوالی پرسیده بودند، من از امروز بیشتر وقت انلاین بودم دارم، اگر مشکلشان حل نشده و هنوز ادامه دارد تاپیک را فعال کنند، اگر بلد بودم و سوادم رسید و تواستم و در حد وقت آزادم سعی میکنم جواب دهم، به هرحال میتوانند تیری در تاریکی بزنند !!!!!

  3. #3
    حـــــرفـه ای dogtag's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    مرز غربی تهران بزرگ! ایمیل: goodboy.php@gmail.com اسپم ها: 2,200!!! :دی
    پست ها
    2,277

    پيش فرض

    چه خوب شد که بالاخره وقت استاد آزاد شد.
    (بین خودمون بمونه: ) نیما خیلی زیاد برای اینجا دل نمی سوزونه. بچه ی خوبیه ها ولی داره کار درست رو می کنه و زیاد وقت نمی ذاره
    شلینه هم که مزدوج شد و رفت، شما هم که نبودی

    ولی از فردا دوباره می چسبم به net. و تا توپ یاد نگیرم، ولت نمی کنم (یقه (یا یغه) ات رو بده من!)


    آقا بذار اصل ماجرا رو بگم که راحت تر باشیم.

    ببین، من یه سرور می شناسم که بهش وصل میشی و بهش میگی "hello, I am mr. X" و میگه که خوش تشریف آوردی عزیزم
    بعد یه چیز هایی می فرسته که مثلاً میگه که "My name is Server" و بعد یه packet دیگه میفرسته و می گه که "at your service"

    از اون به بعد، چیز خاصی رو نمی فرسته ولی مثلاً اگر که اتفاق خاصی بیافته مثلاً یه packet می فرسته و میگه "Iraq war began"
    در غیر این صورت دیگه ساکت می مونه و منتظر میشه تا من سوال بپرسم
    مثلاً من می گم "?how old are you" بعد بهم میگه که "older than you"

    حالا اگر اولش من بگم که من آقای Y هستم، جواب های سرور فرق می کنه.

    این چیز هایی که گفتم همه اش چرت و پرت بود و هیچ جمله ی انگلیسی رد و بدل نمیشه و فقط کاراکتر های عجیب هستند که این وسط همین منظور ها رو می رسونند مثلاً:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    و این که سوکتیه نه http یی

    ---

    تا اینجا رو داری؟

    حالا می خوام این برای 500 یوزر همزمان هم جواب بده


    تا اینجاش رو که پیش بریم تازه اصل مطلب رو می گم
    نه، بذار الان بگم
    این 500 تا یوزر باید بتونند با فاصله ی زمانی یا بدون فاصله با اون سرور ارتباط بر قرار کنند.
    یعنی: Client + Server + 3rd Party Server


    این سوکتی که من گفتم از نوع Client ه ها!
    یه وقت اشتباه برداشت نکنی.

    مرسی و ببخشید
    منتظرم

  4. #4
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    ...دل نمی سوزونه. بچه ی خوبیه ها ولی داره کار درست...
    بابا، بچه مردم میخواهد پول دربیاره! ماکسیما بخره! چه کارش داری؟!

    راستی همینطوری و بدون دلیل خاصی یاد "تکنیک برتر" افتادم، زمانی که من اینجا عضو شدم ایشان خیلی فعال بودند، ولی دیگه خبری نیست؟؟!!!نمیدانم پاقدم ما بوده؟؟؟ اخرین فعالیتش مربوط به سه ماه پیش است!!!!!

    ==========
    خوب حالا مشکل کجا است؟؟؟!!!
    شما اصلاً نتوانسته اید در دات نت با یک سوکت به یک سوکت دیگر وصل شوید و اطلاعات رد و بدل کنید؟؟؟؟
    یا توانسته اید ولی در 500 تاش مشکل دارید و به خون ویندوز تشنه اید؟؟؟

  5. #5
    حـــــرفـه ای dogtag's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    مرز غربی تهران بزرگ! ایمیل: goodboy.php@gmail.com اسپم ها: 2,200!!! :دی
    پست ها
    2,277

    پيش فرض

    گفتم که من این رو با Php نوشتم (فکر نکن که فقط کد سوکت بود ها! تفسیر حرف های سرور هم بود که حجمش خیلی رفت بالا)
    حالا می خوام مثل یه بچه ی خوب بشینم تو کلاس درس استاد H2 تا بهم یاد بده که چجوری:
    1- سوکت برای اتصال 1 نفر درست کنم (فقط جنبه ی آموزشی داره)
    2- چجوری 500 نفر رو متصل کنم

    مرسی

  6. #6
    حـــــرفـه ای Ultimator's Avatar
    تاريخ عضويت
    May 2007
    محل سكونت
    NetFrameWork.
    پست ها
    3,239

    پيش فرض

    بابا، بچه مردم میخواهد پول دربیاره! ماکسیما بخره! چه کارش داری؟!
    ! بذار کنکورمان رو بدیم ماکسیما و اینا خریدن پیش کش ! علم آموزی مهمتر از پروژه تحویل دادنه !
    مسیح جان بابت پست نامربوط عذر میخواهم ! داشتم رد میشدم گفتم عرض ادبی بنمایم ! اگر سنگینی مینماید بفرما حذفش کنم !
    من رفتم کنکور !
    راستی سلام !

  7. #7
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    ! بذار کنکورمان رو بدیم
    د نگرفتی داداش!
    اتفاقاً چون این مطلب را میدانستم آن را گفتم، (خودتان در یک تاپیک دیگر گفته بودید!) کمی بیشتر فکر کنید متوجه میشوید که بی راه نگفتم!
    ==========
    جناب dogtag:
    توضیح کلی کمی طولانی میشود، در نتیجه تصمیم گرفتم تا مثالی برایتان حاضر کنم، که متاسفانه وقت نشد تکمیلش کنم.
    انشا ا... فردا شب که برگشتم خانه، تکمیلش میکنم و برایتان میگذارم.

    با مفاهیم شی گرایی و چند ریختگی آشنایی دارید؟؟؟

    چون یک جایش جون میده برای وراثت! ولی گفتم شاید کمی پیچیده به نظر برسد و از خیرش گذشتم.
    یک برنامه exe است که یک Chat ساده متنی را بین کلاینت ها و سرور شبیه سازی میکند.
    گرچه exe است ولی اصولش با asp.net فرقی ندارد، به نظرم برای شروع یادگیری طریقه استفاده از سوکت ها در دات نت، اینطوری ساده تر است.
    اگر واقعاً این نمونه ساده را متوجه شوید و تک تک خطوطش را درک کنید و بتوانید خودتان بنویسید، گمانم کل مشکلاتتان با سوکت های دات نت حل شود، انشا ا...

    تا فردا.

  8. #8
    حـــــرفـه ای dogtag's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    مرز غربی تهران بزرگ! ایمیل: goodboy.php@gmail.com اسپم ها: 2,200!!! :دی
    پست ها
    2,277

    پيش فرض

    ممنون H2 جان
    اگر مثالت خوب باشه که عالیه. چون اگر کدی رو خط به خطش رو نفهمم، یه جور هایی ازش بدم میاد!
    اون وراثت و اینها رو هم احتمالاً بلدم. یه چیزی خوندم که توضیحاتی داده بود و این کلماتی که میگی هم توش بود
    احتمالاً چون اسم فارسی ه نمی دونم. آخه منبعم انگلیسی ه.

    نتیجه ی تحقیقات خودم (که برای پیدا کردنشان فحش شنیدم و کتک خوردم) را می نویسم:
    1. سوکت نویسی در Win App با Web خیلی فرق داره. حداقل به دلیل این که اگر بخوای Async Socket بنویسی، Win App تا زمانی که برنامه اجراست می تونه منتظر جواب بمونه ولی تو Web باید کار رو سریع تموم کنی و نتیجه رو اعلام کنی. (شاید یه حلقه ی بینهایت جواب بده)
    2. بهم پیشنهاد شد که Windows Service بنویسم. چون محدودیت سرور ساید رو از بین می بره ولی نمی دونم اون رو چجوری نصب کنم و چجوری در برنامه ام ازش استفاده کنم.
    3. با این حال نمی دونم که چجوری می تونم 500 تا سوکت Async رو با Windows Application درست کنم.
    4. من تو PHP اینجوری کار کردم : با یه صفحه اسم طرف رو می گرفتم و با آجاکس می دادم به این صفحه ی سوکت دارم و از اون به بعد دیگه صفحه ی سوکت با بقیه ی جا ها هیچ ارتباط مستقیمی نداشت و این وسط یه DB داشتم که هر چیزی که می شد رو تو اون می نوشتم و برنامه ام مثلاً هر 30 ثانیه میومد DB رو بررسی می کرد تا ببینه کسی چیزی گفته یا نه. ولی اینجا احتمالاً روش بهتری هم هست.


    الان بقیه اش یادم نمیاد. ولی شما لطف کن این 1 کار ما رو راه بنداز، ایشالله از خجالتت در میایم

    مرسی

  9. #9
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    چون اگر کدی رو خط به خطش رو نفهمم، یه جور هایی ازش بدم میاد!
    انشا ا... شرمندتان نشوم، هر سوالی در خصوص کد داشتید بپرسید.

    اون وراثت و اینها رو هم احتمالاً بلدم.
    من هم استفاده گردم، البته وراثت نیست، پلی مورفیزم است، به نظر من که ساده تر شده.
    کد سرور و کلاینت را کاملاً مجزا و واضح در دو کلاسس نوشتم که با یک رابط مشترک توسط یک پنجره واحد مدیریت میشوند


    سوکت نویسی در Win App با Web خیلی فرق داره
    تا حدودی درست است و باید به نکات خاصی دقت شود، ولی در کل و حداقل در دات نت تفاوت فاحشی وجود ندارد و کلاسسها و متدها مشترک است، فقط باید به ریسمان اجرا کننده دقت داشت.




    بد نیست، ولی یک نوع exe است ! سرور باید اختصاصی باشد و بعد هم باید فکر کرد که با توجه به کارتان WinService بهتر است یا WinApp .



    در مورد 500 سوکت هم، فقط یک حلقه for ناقابل میخواهد تا به تعداد مورد نیاز دستور ساخت و اتصال را تکرار کند.
    شما میخواهید در یک رایانه 500 سوکت کلاینت درست کنید؟
    یا قرار است 500 کامپیوتر کلاینت به سرورتان متصل شوند؟

    ==========

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

    انشا ا... با یک نگاه....
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    Last edited by _H2_; 25-06-2008 at 22:17.

  10. #10
    حـــــرفـه ای dogtag's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    مرز غربی تهران بزرگ! ایمیل: goodboy.php@gmail.com اسپم ها: 2,200!!! :دی
    پست ها
    2,277

    پيش فرض

    واقعاً ممنون و شرمنده
    می دونم که مجانی وقت گذاشتن برای دیگران یعنی چی. مخصوصاً وقتی که مثل من خنگ و تازه کار هم باشند!

    من میخواهم در یک رایانه 500 سوکت کلاینت درست کنم.

    فکر کنم مشکلی نباشه. چون یه سرور می تونه حداکثر 500 تا end point داشته باشه.

    برای مثال ممنون. (شب کنکور دارم کد NET. آنالیز می کنم!!!!)

    مشکل من با همین ریسمان ها و این جور چیز هاست.
    یعنی نمیشه تو یه فایل aspx ، تعداد 500 کانکشن درست کرد؟ مثلاً از دیتابیس بخونه و هر وقت که تو فیلدی به نام command نوشته بود new X بره یه ریسمان درست کنه و یه کانکشن بده توش با نام آقای X و از اون به بعد مثلاً کامند ها اینجوری باشه X:Hi Server که اون رو بخونه و بفهمه که باید به سوکتی که تو ریسمان آقای X هست، جمله ی Hi Server رو بفرسته؟

صفحه 1 از 4 1234 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

برچسب های این موضوع

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •