PDA

View Full Version : مشکل در استفاده از tcpclient



Hossenbor
شنبه 09 اردیبهشت 1391, 22:50 عصر
سلام خدمت دوستان عزیز من از تابع فوق برای چت استفاده می کنم نمی توانم این تابع را مدام در حالت خواندن قرار دهم که اگر این کار را بکنم گره شبکه اگر درست گفته باشم ایجاد میشه بنابراین از کد زیر استفاده کردم که مشکل آن این است که خیلی کند است ممنون میشوم دوستان منو راهنمایی کنند

TcpClient tc = new TcpClient();
tc.Connect("openfire.nimbuzz.com", 5222);
NetworkStream ns = tc.GetStream();
do
{
ns.Read(recive, 0, recive.Length);
textBox1.Text += System.Text.Encoding.UTF8.GetString(recive) + "\r\n";
Thread.Sleep(800);
} while (ns.DataAvailable);

Hossenbor
یک شنبه 10 اردیبهشت 1391, 09:54 صبح
سلام دوستان کسی نمیتونه کمک کنه؟ در ضمن گزینه وقتی میخوام ببینم که داده نیست گیر میکنه مقدار صفر رو بر نمیگردونه

Hossenbor
یک شنبه 10 اردیبهشت 1391, 14:17 عصر
دوستان کسی نظری نداره؟

hunter_ara
دوشنبه 11 اردیبهشت 1391, 10:26 صبح
سلام خدمت دوستان عزیز من از تابع فوق برای چت استفاده می کنم نمی توانم این تابع را مدام در حالت خواندن قرار دهم که اگر این کار را بکنم گره شبکه اگر درست گفته باشم ایجاد میشه بنابراین از کد زیر استفاده کردم که مشکل آن این است که خیلی کند است ممنون میشوم دوستان منو راهنمایی کنند

TcpClient tc = new TcpClient();
tc.Connect("openfire.nimbuzz.com", 5222);
NetworkStream ns = tc.GetStream();
do
{
ns.Read(recive, 0, recive.Length);
textBox1.Text += System.Text.Encoding.UTF8.GetString(recive) + "\r\n";
Thread.Sleep(800);
} while (ns.DataAvailable);


به نظرمن شما برنامت رو Multithered بنویس چون تا جایی که من اطلاع دارم Socket موقع Send % receive ترد رو Block میکنه!
به این (تقریبا!!) رفرنس مراجعه کنی بد نیست :چشمک:

http://barnamenevis.org/showthread.php?336218-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%DA%86%D8%AA-%D8%A8%DB%8C%D9%86-%D8%AF%D9%88%DA%A9%D8%A7%D9%85%D9%BE%DB%8C%D9%88%D 8%AA%D8%B1-%28client-amp-server%29&p=1493156&posted=1#post1493156


کتاب رو میگم!!!