PDA

View Full Version : سوال: خطا در socket programing



fri jun
سه شنبه 06 آبان 1393, 10:11 صبح
با سلام
من تو زمان send و receive ابن خطا برخورد میکنم : No connection could be made because the target machine actively refused it 127.0.0.1:8000
میشه راهنمایی کنید مشکل از کجاست؟

pedram.11
سه شنبه 06 آبان 1393, 10:17 صبح
سلام پورت 8000 شما بسته هست. اگه دارید برنامه سرور و listener مینوسید مطمئید شید که سرور رو اجرا کردید و سیستم به پورت 8000 گوش میکنه

fri jun
سه شنبه 06 آبان 1393, 10:51 صبح
برای چند لحظه اول ارتباط برقرار میشه و بعد این خطا پیش میاد . چون دارم پشت سر هم اطلاعات وب کم رو ارسال می کنم

این کد دریافتم هست :
private void Start_Receiving_Video_Conference() {
try
{
// Open The Port
mytcpl = new TcpListener(IPAddress.Parse(text_IP_Me.Text), int.Parse(text_Camera_rec_port.Text));
mytcpl.Start (); // Start Listening on That Port
mysocket = mytcpl.AcceptSocket(); // Accept Any Request From Client and Start a Session
ns = new NetworkStream (mysocket); // Receives The Binary Data From Port


pictureBox2.Image = Image.FromStream(ns);
mytcpl.Stop(); // Close TCP Session

if (mysocket.Connected ==true) // Looping While Connected to Receive Another Message
{
while (true)
{
Start_Receiving_Video_Conference (); // Back to First Method
}
}
myns.Flush();

}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
}

و اینم کد ارسالم : try {

ms = new MemoryStream();// Store it in Binary Array as Stream
bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);

byte[] arrImage = ms.GetBuffer();
myclient = new TcpClient(remote_IP, port_number);//Connecting with server
myns = myclient.GetStream();
mysw = new BinaryWriter(myns);
mysw.Write(arrImage);//send the stream to above address
ms.Flush();
mysw.Flush();
myns.Flush();
ms.Close();
mysw.Close();
myns.Close();
myclient.Close();
}
catch (Exception ex)
{
Capturing.Enabled = false;
MessageBox.Show(ex.Message,"Video Conference Error Message",MessageBoxButtons.OK,MessageBoxIcon.Error);
}

pedram.11
سه شنبه 06 آبان 1393, 11:13 صبح
خب در کد دریافتتون exception رخ نمیده؟ بهتره در حلقه قرار بدید تا اگه یکبار هنگام دریافت تصویر مشکلی پیش اومد دوباره تلاش کنه.
البته شما که میخواید پشت هم تصویر ارسال کنید بنظرم این روش خوبی نیست که هی تصویر رو ارسال کنید و هی کانکشن رو ببندید... من توصیه میکنم که یکبار کانکشن رو باز بذارید و با استفاده از فلگ ها یا هر روش دیگه دیتای فایل ها رو از هم تفکیک کنید

fri jun
سه شنبه 06 آبان 1393, 11:26 صبح
تو حلقه گذاشتم اما تو حلقه بی نهایت میوفته انگار...

منظورت از فلگ ها چیه؟چه جوری؟
من یرنامه رو میزارم امکانش هست به نگاه بهش بندازی اقا پدرام گل؟ممنون...

http://uplod.ir/obej38z67y6u/Peer-to-peer_Conference_System.rar.htm

fri jun
سه شنبه 06 آبان 1393, 12:09 عصر
دوستان این کار من خیلی حیاتی هستش ، لطفا راهنمایی کنید...

pedram.11
سه شنبه 06 آبان 1393, 12:16 عصر
من هم یه برنامه نوشته بودم قبلا که تقریبا اینکارو میکرد. من چون کانکشن رو نمیبستم و عکس ها پشته هم ارسال میشد برای جدا کردن و تشخیص دیتای هر عکس باید یه کارایی میکردم که فک کنم فلگ گذاشتم. شما یک فایل PNG رو در نوتپد باز کنید و میبینید که عکس با فلگ ‰PNG... شروع شده
دقیق تر بگم:
هر تصویر PNG یا بایت های زیر شروع میشه:

137 80 78 71 13 10 26 10

با خوندن دیتا ها شما باید شروع و پایان تصاویر رو به همین صورت پردازش کنید(شروع تصویر جدید=پایان تصویر قبلی)
پروژه شما رو دانلود کردم اما یه کاری پیش اومده میرم چن ساعت دیگه میام تا اون موقع شاید خودت به همین روشی که گفتم درستش کردی :تشویق: اگه نه شرمنده میرم میام درستش میکنم

fri jun
سه شنبه 06 آبان 1393, 12:23 عصر
اقا پدرام یه دونه باشی ، مرسی که وفت گذاشتی

اکی ، من روش کار میکنم ، اگه نشد دوباره مزاحمت میشم...

pedram.11
سه شنبه 06 آبان 1393, 16:56 عصر
سلامی دوباره :تشویق:
یه پروژه آماده کردم چون نتم هولیه از پروژه خودتون استفاده نکردم. و همچنین حجم کامپوننتون زیاد بود از وبکم عکس نگرفتم جاش 100 تا عکس توی پوشه پروژه کلاینت گذاشتم و عکسا به ترتیب به سرور ارسال میشن.
اگه کار کرد خبر بدید :لبخند:

fri jun
چهارشنبه 07 آبان 1393, 06:50 صبح
سلام
همین الان تست گرفتم ، کارت حرف نداره ، یه دنیا سپاس که وقت گذاشتی اقا پدرام ...

Mosafers
پنج شنبه 11 دی 1393, 20:58 عصر
سلامی دوباره :تشویق:
یه پروژه آماده کردم چون نتم هولیه از پروژه خودتون استفاده نکردم. و همچنین حجم کامپوننتون زیاد بود از وبکم عکس نگرفتم جاش 100 تا عکس توی پوشه پروژه کلاینت گذاشتم و عکسا به ترتیب به سرور ارسال میشن.
اگه کار کرد خبر بدید :لبخند:
سلام ممنونم از شما فقط یه سوال من میتونم این عکس رو به نقطه دور هم ارسال کنم؟

Mosafers
دوشنبه 15 دی 1393, 13:25 عصر
لطفا یکی بگه میشه با استفاده از IP سیستم دیگه از طریق سوکت برای چیزی فرستاد؟

hoseinharami
چهارشنبه 26 فروردین 1394, 17:57 عصر
سلام
بله میشه
شما در کلاینت ، اطلاعات را به آیپی و پورت سرورتون ارسال می کنید.
سپس توی سرور ، بر روی آیپی 0.0.0.0 و پورت موردنظرتون Listen می کنین