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

نام تاپیک: مشکل در نوشتن برنامه چت

  1. #1

    مشکل در نوشتن برنامه چت

    با سلام خدمت اساتید محترم .
    من با استفاده از برنامه نویسی سوکت یک برنامه چت خیلی ساده نوشتم . زمانی که برنامه رو روی کامپیوتر سرور اجرا می کنم مشکلی نداره اما زمانی که برنامه رو روی کامپیوتر کلاینت اجرا می کنم با این ارور مواجه می شم : java socket address already in use:jvm bind
    کد قسمت های مختلف برنامه به این صورته

    کد اتصال در سرور :


    public ServerSocket so = new ServerSocket(3308);
    public Socket ml =so.accept();
    public DataInputStream input = new DataInputStream( ml.getInputStream() );
    public DataOutputStream output=new DataOutputStream(ml.getOutputStream());


    کد مربوط به اتصال در کلاینت :

    public InetAddress ip=InetAddress.getByName("192.168.01.20");
    int port=3308;
    public Socket mylink=new Socket (ip, port);

    public DataInputStream input = new DataInputStream( mylink.getInputStream() );
    public DataOutputStream output=new DataOutputStream(mylink.getOutputStream());

    این هم کد کلاس دریافت پیام در هر دو برنامه :



    public class Receive implements Runnable {



    @Override
    public void run() {
    Server_Side ss;
    do{
    try {
    ss = new Server_Side();
    String me =ss.input.readUTF();

    ss.txtinbox.setText(ss.txtinbox.getText()+"\n"+me) ;
    } catch (Exception ex) {
    JOptionPane.showMessageDialog(null,ex.getMessage() );
    }
    }
    while(true);

    }

    }

    این هم کد اعلان این کلاس و اجرای ترد در متد main کلاس اصلی هر دو برنامه :


    Receive re = new Receive();
    ExecutorService exr = Executors.newCachedThreadPool();
    exr.execute(re);}
    catch(Exception e){System.out.println(e.getMessage());}

    در ضمن این برنامه رو جند بار با port های متفاوت امتحان کردم ولی باز به همین ارور برخوردم.

    ممنون می شم اگر من رو راهنمایی کنید.
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله kfaghih : دوشنبه 25 بهمن 1395 در 16:09 عصر

  2. #2
    [younes]
    مهمان

    نقل قول: مشکل در نوشتن برنامه چت

    حداقل از تگ جاوا استفاده کن ، بتونیم بخونیمش ......

  3. #3

    نقل قول: مشکل در نوشتن برنامه چت

    نقل قول نوشته شده توسط [younes] مشاهده تاپیک
    حداقل از تگ جاوا استفاده کن ، بتونیم بخونیمش ......
    من از تگ جاوا استفاده کردم نمی دونم چرا عمل نمی کنه

  4. #4
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: مشکل در نوشتن برنامه چت

    بهتر نیست کدش رو بذارید و همچنین نحوه استفادش رو توضیح بدید تا ما هم با خطایی که گفتید روبرو بشیم

  5. #5

    نقل قول: مشکل در نوشتن برنامه چت

    نقل قول نوشته شده توسط vahid-p مشاهده تاپیک
    بهتر نیست کدش رو بذارید و همچنین نحوه استفادش رو توضیح بدید تا ما هم با خطایی که گفتید روبرو بشیم
    کدش رو گذاشتم

  6. #6
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: مشکل در نوشتن برنامه چت

    در cmd ویندوز این کد رو وارد کنید netstat -nao تا وضعیت پورت ها رو ببینید.
    ضمنا منظورم از سورس کد، کل سورس کد بود تا بتونیم اجرا کنیم (آماده اجرا باشه). و همچنین مراحلی که شما طی میکنید تا به این خطا بر میخورید تا به مشکل شما بربخوریم.

  7. #7

    نقل قول: مشکل در نوشتن برنامه چت

    نقل قول نوشته شده توسط vahid-p مشاهده تاپیک
    در cmd ویندوز این کد رو وارد کنید netstat -nao تا وضعیت پورت ها رو ببینید.
    ضمنا منظورم از سورس کد، کل سورس کد بود تا بتونیم اجرا کنیم (آماده اجرا باشه). و همچنین مراحلی که شما طی میکنید تا به این خطا بر میخورید تا به مشکل شما بربخوریم.
    سلام ممنون بابت توجهتون رابط گرافیکی برنامه رو با نت بینز طراحی کردم به همین خاطر سورس کد برنامه خارج از محیط نت بینز مرتب نیست

  8. #8
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: مشکل در نوشتن برنامه چت

    مثلا اون کلاس Server_Side که در کد بالا استفاده شده، کجاست کدش من نمیبینم؟ برای همین میگم کل سورس رو بذارید (مثل این پست https://barnamenevis.org/showthread.php?535057 کد پروژه رو بذارید تا بتونم اجرا کنم).

    چند بار خواستم کل سورس کد رو بذارید، ولی هر بار یه چیزی میگید (شایدم گذاشتید، من که نمیبینم جز چند خطی که تو پست اول گذاشتید).
    شاید من منظورم رو بد رسوندم و شاید شما متوجه منظور من نمیشید.

    گفتم:
    سورس پروژه (نت بینز یا هر چی شامل فولدرها srcوbuild و... و فایلها) در یک فایل zip قرار بدید و بفرستید.
    بعلاوه
    چه مراحلی رو اجرا میکنید که به اون خطا بر میخورید.

    این ها رو که انجام دادید، اگر مشکلتون رو بدونم پاسخ میدم. اگر سورس نمیتونید بذارید، منم متاسفانه نمیتونم راهنمایی کنم (با اون دستوری که گفتم خودتون مشکل رو پیدا کنید).
    موفق باشید

  9. #9

    نقل قول: مشکل در نوشتن برنامه چت

    نقل قول نوشته شده توسط vahid-p مشاهده تاپیک
    مثلا اون کلاس Server_Side که در کد بالا استفاده شده، کجاست کدش من نمیبینم؟ برای همین میگم کل سورس رو بذارید (مثل این پست https://barnamenevis.org/showthread.php?535057 کد پروژه رو بذارید تا بتونم اجرا کنم).

    چند بار خواستم کل سورس کد رو بذارید، ولی هر بار یه چیزی میگید (شایدم گذاشتید، من که نمیبینم جز چند خطی که تو پست اول گذاشتید).
    شاید من منظورم رو بد رسوندم و شاید شما متوجه منظور من نمیشید.

    گفتم:
    سورس پروژه (نت بینز یا هر چی شامل فولدرها srcوbuild و... و فایلها) در یک فایل zip قرار بدید و بفرستید.
    بعلاوه
    چه مراحلی رو اجرا میکنید که به اون خطا بر میخورید.

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

  10. #10
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: مشکل در نوشتن برنامه چت

    بعضی وقتا مثل اینکه کد یک بار که اجرا میشه، اون پورت رو میگیره، برنامت تو یه لوپ همچین چیزی افتاده و یا در دفعات بعدی اون پورت چون از قبلا اشغال شده این اررور میده.
    یکم دستکاریش کردم، اون اررور رو نمیده، ولی مشکلی که داره کلا کد رو بد نوشتی. من علت اون حلقه داخل کلاس Receive رو نگرفتم.
    به هر حال کد رو از اول بنویسید. این رو در نظر بگیرید که شما بعد از اینکه در سرور so.accept() جوابش رو گرفتید، اون راه ارتباطی شما با کلاینت مورد نظر هست. پس سعی کنید چندین بار رو این پورت که قبلا استفاده شده، یا در کلاینت کار تکراری در این زمینه انجام ندید (مثل اون حلقه ای که نوشته بودید).
    ضمنا در بخش فیلدها، متغیرها رو مقدار دهی نکنید. در کانستراکتور بنویسید یا یه متد دیگه.


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

  11. #11

    نقل قول: مشکل در نوشتن برنامه چت

    نقل قول نوشته شده توسط vahid-p مشاهده تاپیک
    بعضی وقتا مثل اینکه کد یک بار که اجرا میشه، اون پورت رو میگیره، برنامت تو یه لوپ همچین چیزی افتاده و یا در دفعات بعدی اون پورت چون از قبلا اشغال شده این اررور میده.
    یکم دستکاریش کردم، اون اررور رو نمیده، ولی مشکلی که داره کلا کد رو بد نوشتی. من علت اون حلقه داخل کلاس Receive رو نگرفتم.
    به هر حال کد رو از اول بنویسید. این رو در نظر بگیرید که شما بعد از اینکه در سرور so.accept() جوابش رو گرفتید، اون راه ارتباطی شما با کلاینت مورد نظر هست. پس سعی کنید چندین بار رو این پورت که قبلا استفاده شده، یا در کلاینت کار تکراری در این زمینه انجام ندید (مثل اون حلقه ای که نوشته بودید).
    ضمنا در بخش فیلدها، متغیرها رو مقدار دهی نکنید. در کانستراکتور بنویسید یا یه متد دیگه.


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

  12. #12
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: مشکل در نوشتن برنامه چت

    نقل قول نوشته شده توسط kfaghih مشاهده تاپیک
    سلام ممنون از راهنماییتون ولی من درست متوجه نشدم می شه بیشتر توضیح بدید ؟ در ضمن اون حلقه مال اینه که برنامه مدام چک کنه که اگر پیعامی از طرف مقابل داشت اون رو به کاربر نشون بده.
    خیر مشکل برنامه شما اینه که دقیقا اون حلقه باعث میشه هر بار new Server_Side() بشه ودرنتیجه دفعه دوم بخواد روی پورت قبلی که سوکت زده شده دوباره سوکت بزنه. در نتیجه از قبل رزرو شده.

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

    بگذریم. منظور من این بود برنامتو از اول بنویس. فرض کن این برنامه نیست. برای اینکه درست بنویسید، از نمونه های فراوونی که تو نت هست استفاده کنید.

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

  1. مشکل در ساختن برنامه چت ساده
    نوشته شده توسط combo_ci در بخش Java SE : نگارش استاندارد جاوا
    پاسخ: 4
    آخرین پست: چهارشنبه 16 دی 1388, 08:56 صبح
  2. مشکل در اجرای برنامه چت در asp.net
    نوشته شده توسط romisa_18 در بخش ASP.NET Web Forms
    پاسخ: 6
    آخرین پست: دوشنبه 29 بهمن 1386, 11:53 صبح
  3. مشکل در نوشتن برنامه با Ado database
    نوشته شده توسط kablayi در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 4
    آخرین پست: چهارشنبه 28 آذر 1386, 01:27 صبح
  4. یه مشکل در نوشتن برنامه با زبان #c در vs2005
    نوشته شده توسط ali_yousefian19 در بخش C#‎‎
    پاسخ: 12
    آخرین پست: سه شنبه 15 فروردین 1385, 17:54 عصر
  5. مشکل در نوشتن برنامه ای برای اجرا بر روی یک هاست
    نوشته شده توسط taze kar در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 12
    آخرین پست: شنبه 14 آبان 1384, 08:18 صبح

برچسب های این تاپیک

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

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