نمایش نتایج 1 تا 9 از 9

نام تاپیک: جلوگیری از بسته شدن سوکت در اتصال با boost در C++‎

  1. #1

    جلوگیری از بسته شدن سوکت در اتصال با boost در C++‎

    سلام
    من به یک سروری با boost وصل شدم و در حال دریافت اطلاعات هستم
    ولی مرتبا در async_read ارور end off file میگیرم و قطع میشوم
    این اتفاق زمانی میوفته که بین ۱ الی ۲ دقیقه هیچ اطلاعاتی از سمت سرور به من داده نشود
    در صورتی که مطمئنم سرور اون طرف من را قطع نکرده است
    برای اینکه بتونم از این قطع شدن جلوگیری کنم باید چیکار کنم؟


    boost::asio::async_read(socket_, boost::asio::buffer(header_buffer , 4 ),
    boost::bind(&uap_client::handle_read_header, this,
    boost::asio::placeholders::error,
    boost::asio::placeholders::bytes_transferred)
    );

  2. #2

    نقل قول: جلوگیری از بسته شدن سوکت در اتصال با boost در C++‎

    خطای boost::asio::error::eof از اسمش معلومه که چی میگه!

    از دستور boost::asio::async_read وقتی استفاده میشه که شما میخوای به شکل غیرهمزمان مقداری بایت رو از یک جریان یا استریم بخونی
    وقتی اون جریان یا استریم به انتهای خودش برسه، این خطا که به منزله ی پایان کار هست میاد.

    جرانی که از سمت سرور میاد، منبعش یه فایله حتما که وقتی تموم میشه ارسالش این رو چاپ میکنه

  3. #3

    نقل قول: جلوگیری از بسته شدن سوکت در اتصال با boost در C++‎

    ببخشید مشکل اینه که فایل نیست
    ما داریم در این ارتباط تبادل اطلاعات میکنیم
    اطلاعات هم خوب یه موقع هست و یه موقع نیست
    یعنی وقتی نیست من باید صبر کنم تا اطلاعات جدید بیاد برام
    حالا ممکنه ۱۰ دقیقه طول بکشه

  4. #4

    نقل قول: جلوگیری از بسته شدن سوکت در اتصال با boost در C++‎

    یه حلقه بی انها بزارید که کانکشن رو بعد از پرتاب استثناء دوباره بر قرار کنه.
    از سیگگنال هم میتونین برای خاتمه دادن به حلقه استفاده کنید

  5. #5

    نقل قول: جلوگیری از بسته شدن سوکت در اتصال با boost در C++‎

    خوب یه مشکلی داریم برای اینکار
    چون بعد از بار اتصال باید لاگین کنیم تمام اطلاعات قبلی میپره
    برای اون راه کاری ندارید ؟

  6. #6

    نقل قول: جلوگیری از بسته شدن سوکت در اتصال با boost در C++‎

    تو کدی که گذاشتید لاگ این وجود نداره!
    من همون تیکه کد رو گفتم
    اگر فرآیند کلی رو یه بار توضیح بدین ممنون میشم

  7. #7

    نقل قول: جلوگیری از بسته شدن سوکت در اتصال با boost در C++‎

    همینه فرآیند
    ما متصل میشیم به یه آی پی و پورت
    بعد اطلاعات لوگین را میفرستیم
    بهمون یه جواب میده
    بعد ما صبر میکنیم اون اطلاعات بفرسته و ما بهش با توجه به اطلاعاتی که اون میده بهش یه جوابی میدیم
    حالا این وسط اگه ۱-۲ دقیقه اطلاعاتی رد و بدل نشه سوکت قطع میشه

  8. #8

    نقل قول: جلوگیری از بسته شدن سوکت در اتصال با boost در C++‎

    ماشاالله سوالتو تو استک هم پرسیدی

    خوبه، به هر حال حلش می کنیم ایشالله.
    به نظرم باید متدت رو عوض کنی، قطعا فرآیند لاگ این دستی نیست و اینکه boost::asio::async_read هم عوض بشو نیست!
    شما به سرور میگی از یه استریمت بهم اطلاعات بده، سرور اطلاعات رو میفرسته و تمام میشه کار. خوب قطعا قرار نیست برای کاری که تموم شده کانکشنش رو باز بزاره


    کانکشن دائم وجود نداره، هر کانکشنی پایانی داره. مثلا وقتی با کاربر روت تو ترمینال وارد میشی، تا وقتی که ترمینال رو نبندی روت هستی ولی همینکه ترمینال رو ببندی دوباره باید لاگین کنی

    شما داری اطلاعات رو درخواست میدی و میخونی، سرورم جواب میده. ذات کانکشنت همین قدر عمر داره.

  9. #9

    نقل قول: جلوگیری از بسته شدن سوکت در اتصال با boost در C++‎

    خوب میدونی خیلی فورس و مهم هست و هرچیم سرچ کردم چیزی پیدا نکردم
    دنبال این هستم که مطمئن بشم جایی از کار را اشتباه نرفتم
    موقتا برای اینکه سوکت بسته نشه هر ۳۰ ثانیه یک اطلاعات بیخودی میفرستم و اینجوری ۱-۲ روز ارتباط قطع نمیشه اما در نهایت باز هم بعد از ۱-۲ روز قطع میشه دقیقا با همون ارور end off file

تاپیک های مشابه

  1. جلوگیری از بسته شدن سرویس در اندروید 6
    نوشته شده توسط reza252525 در بخش Android Studio
    پاسخ: 1
    آخرین پست: دوشنبه 06 دی 1395, 13:22 عصر
  2. حرفه ای: جلوگیری از بسته شدن برنامه حتی با end task در task manager
    نوشته شده توسط arash020 در بخش VB.NET
    پاسخ: 2
    آخرین پست: یک شنبه 29 بهمن 1391, 02:35 صبح
  3. سوال: جلوگيري از بسته شدن برنامه حتي با TaskManager
    نوشته شده توسط eiman_ghasemy در بخش C#‎‎
    پاسخ: 36
    آخرین پست: دوشنبه 06 آذر 1391, 16:00 عصر
  4. سوال: جلوگیری از بسته شدن صفحه با یک شرط
    نوشته شده توسط ostovarit در بخش C#‎‎
    پاسخ: 2
    آخرین پست: شنبه 05 تیر 1389, 12:07 عصر
  5. جلوگیری از بسته شدن برنامه با منوی فرم
    نوشته شده توسط bmanfy در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 5
    آخرین پست: پنج شنبه 26 بهمن 1385, 16:57 عصر

قوانین ایجاد تاپیک در تالار

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