PDA

View Full Version : دریافت خطای ...No connection could be made because the target machine actively در برنامه نویسی سوکت



farzadsmc
جمعه 12 اردیبهشت 1393, 11:59 صبح
دوستان من یک برنامه Client-Server با سی شارپ دارم که مربوط به ارسال و دریافت فایل هست. فایل از کلاینت فرستاده میشه و از سرور دریافت میشود.
برنامه به خوبی در لوکال کار میکند. یعنی وقتی آی پی 127.0.0.1 بعنوان آی پی سرور قرار میدم، بدون هیچ مشکلی کار میکنه.
ولی وقتی رو دوتا کامپیوتر جداگانه اجرا میکنم، کلاینت نمیتونه به سرور وصل بشه و خطای زیر رو میده :

No connection could be made because the target machine actively refused it 127.0.0.1:xxxxx

خودم یه سرچی تو گوگل زدم، اونطور که فهمیدم مشکل از کد نیست و مربوط میشه به فایروال و این حرفها که فایروال رو هم خاموش کردم جواب نگرفتم.
پورتی هم که استفاده میکنم مطمئن هستم اشغال نیست. با دستور netstat -a چک کردم.

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




Socket connector = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPEndPoint ie = new IPEndPoint(IPAddress.Parse(txtServerIP.Text), 12345);
ie.Address = IPAddress.Loopback;
connector.Connect(ie);

plus
جمعه 12 اردیبهشت 1393, 16:07 عصر
کد مربوط به سرور رو هم بگذارین.شما احیانا توی شبکه که نیمخواهین به 127.0.0.1 وصل بشین؟!

farzadsmc
یک شنبه 14 اردیبهشت 1393, 00:22 صبح
کد مربوط به سرور رو هم بگذارین.شما احیانا توی شبکه که نیمخواهین به 127.0.0.1 وصل بشین؟!
نه دوست عزیز، من اونجا آی پی سرور رو مثلا به این شکل وارد میکنم : 192.168.1.2
اون 127.0.0.1 تو متن پیغام خطا ثابت هست و ربطی به آی پی کامپیوتری که میخواییم کانکت بشیم ندارد.
در هر صورت مشکل رو خودم حل کردم. ایراد از خط سوم بود، که یه جورایی ارتباط رو فقط محدود به لوکال هاست میکرد. (ie.Address = IPAddress.Loopback)

با تشکر