View Full Version : مشکل عجیب با winsock
amin_vb
یک شنبه 09 اردیبهشت 1386, 20:32 عصر
سلام
خسته نباشید
من یه برنامه دارم که سروره . حالا می خام ازش با یک کلاینت اطلاعات بگیرم . این کدا رو گذاشتم :
Private Sub Form_Load()
Dim mIP As String
mIP = Winsock1.LocalIP
Winsock1.Protocol = sckTCPProtocol
Winsock1.RemoteHost = mIP
Winsock1.RemotePort = 1245
Winsock1.Connect
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
Winsock1.GetData strData, vbString
Text1.Text = strData
End Sub
Private Sub Command1_Click()
Winsock1.Close
End
End Sub
حالا وقتی برنامه رو می بندم سیستم انگار چند ثانیه میره تو کما ! دفعه ی دیگه که تو وی بی برنامه رو اجرا می کنم کلا" ویزوال بیسیک هنگ می کنه :عصبانی++:
بستن برنامه رو هم با کامند1 انجام میدم .
چی کارش کنم ؟ ایراد از کجای کاره ؟
mehran8
یک شنبه 09 اردیبهشت 1386, 20:37 عصر
به نظر من استفاده از کنترل winsock برای نوشتن تروجان (کلاینت و سرور ) اصلاً مناسب نیست .
amin_vb
یک شنبه 09 اردیبهشت 1386, 21:09 عصر
سلام
ممنون
ولی برای تروجان نیست که ...
یک برنامه دیگه هست روی همین سیستم که سورسش هم در دسترس نیست ! فقط باید از این طریق باهاش ارتباط برقرار کنم .
خودش هم پارامترهای کانکشن رو داده . و من هم می توانم با همون کدهای بالا پیامهای اون رو دریافت کنم . اما فقط موقع بستن ایراد داره .
CodeMasterX
یک شنبه 09 اردیبهشت 1386, 23:45 عصر
اولا که شما نباید برای برنامه سرور از متد Connect استفاده کنی!
باید روی یک پورت مخصوص Listen کنی!
روی ID من جستجو کن یه برنامه Client/Server نوشتن که هم میشه اطلاعات رشته ای فرستاد هم فایل ها رو.
amin_vb
دوشنبه 10 اردیبهشت 1386, 00:00 صبح
سلام
ممنون
ولی اگه توضیحات منو می خوندین می دیدین که من سرور نمی نویسم .
دارم کلاینت می نویسم .
amin_vb
دوشنبه 10 اردیبهشت 1386, 00:12 صبح
اون برنامتون رو هم دیدم .
از این نمونه ها زیاد دیدم قبلا" . حتی بدون اسفاده از کامپوننتهای اضافی .
اما فعلا" مشکل من چیز دیگه ییه .
as_200340
دوشنبه 10 اردیبهشت 1386, 03:28 صبح
سلام
خسته نباشید
من یه برنامه دارم که سروره . حالا می خام ازش با یک کلاینت اطلاعات بگیرم . این کدا رو گذاشتم :
Private Sub Form_Load()
Dim mIP As String
mIP = Winsock1.LocalIP
Winsock1.Protocol = sckTCPProtocol
Winsock1.RemoteHost = mIP
Winsock1.RemotePort = 1245
Winsock1.Connect
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
Winsock1.GetData strData, vbString
Text1.Text = strData
End Sub
Private Sub Command1_Click()
Winsock1.Close
End
End Sub
حالا وقتی برنامه رو می بندم سیستم انگار چند ثانیه میره تو کما ! دفعه ی دیگه که تو وی بی برنامه رو اجرا می کنم کلا" ویزوال بیسیک هنگ می کنه :عصبانی++:
بستن برنامه رو هم با کامند1 انجام میدم .
چی کارش کنم ؟ ایراد از کجای کاره ؟
سلام دوست عزیز
کد شما ایرادی نداره مشکل از سیستم شماست !
ببین فایروالی چیزی نداری .
CodeMasterX
دوشنبه 10 اردیبهشت 1386, 10:02 صبح
سلام
ممنون
ولی اگه توضیحات منو می خوندین می دیدین که من سرور نمی نویسم .
دارم کلاینت می نویسم .
ببینم شما وقتی میخوایی از یه کلاینت داده ها رو بگیری و توش مشکل هم داری داری سرور مینویسی یا کلاینت ؟ شما مثل اینکه هنوز معنی و فرق بین سرور و کلاینت رو هم نفهمیدی.اون برنامه که شما نوشتی و کاری که میخوایی بکمی مربوط به برنامه سرور میشه که گفتم برنامه من نمونه خوب و ساده ای هست بدون استفاده از کامپوننت های اضافی.
بعد از اون،مگه برنامه من جواب مشکلت رو نداد ؟ اصلا مشکل چیه ؟ اون دسوتر خودت هم از اول مشکل نداشت ولی شما توی پیاده سازی سرور ها و کلاینت ها مشکل داری.
برنامه من رو دقیق بررسی کن.
amin_vb
سه شنبه 11 اردیبهشت 1386, 00:26 صبح
ممنون عزیزان
مشکلم اینایی که میگین نیست .
هر دفعه مجبورم که به جای ران کردن برنامه ؛ فابل اگزشو بسازم و اجرا کنم.
CodeMasterX
چهارشنبه 12 اردیبهشت 1386, 03:23 صبح
شما برنامت رو کامل ضمیمه کن تا ببینیم مشکلش چیه اینجوری نمیشه!
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.