farzadsmc
جمعه 12 اردیبهشت 1393, 12: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);
برنامه به خوبی در لوکال کار میکند. یعنی وقتی آی پی 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);