PDA

View Full Version : سوال: استفاده از یک وینساک بصورت آرایه ای و ارور 40006



saeed_sho
پنج شنبه 29 تیر 1391, 16:32 عصر
سلام
من با وینساک یه برنامه ی سرور و کلاینت نوشتم که از یک وینساک استفاده کردم و از یک هاست و پورت دارم بصورت آرایه ای استفاده میکنم حالا موقعی که با وینساک به سرور وصل میشم و اطلاعات رو send میکنم در خط ارسال ارور 40006 رو میگیره
لطفا راهنمایی کنید

saeed_sho
پنج شنبه 29 تیر 1391, 18:55 عصر
کسی اصلا به این تالار سر میزنه؟
کسی نمیتونه راهنمایی کنه؟

saeed_sho
پنج شنبه 29 تیر 1391, 20:37 عصر
کسی جواب سؤال منو نداد ولی خودم پیدا کردم میزارم تا اونایی که این مشکلو دارن مشکلشون حل بشه
این ارور وقتی اتفاق میافته که شما سعی کنید با کانکشن بسته اطلاعاتتون رو ارسال کنید خب راه حلش هم اینه که قبل از ارسال از باز بودن کانکشن با یک شرط مطمئن بشید و در صورت بسته بودن پراپرتی های protocol, remoteHost, remotePort را مقداردهی کنید و پراپرتی کانکت رو هم بعدش استفاده کنید خب حالا میتونید داده هاتون رو ارسال کنید
موفق باشید

_behnam_
جمعه 30 تیر 1391, 14:48 عصر
تکه کد مربوط به را بزارید تا بررسی شه.

saeed_sho
یک شنبه 01 مرداد 1391, 12:19 عصر
بازم همون ارور میده توی خط ارسال داده ها البته توی رویداد لود فرم load winsock(1) رو زدم در ضمن این سمت کلاینت هستش
Private Sub send_command_Click()
'On Error Resume Next
If txt_Send_command.Text = "" Then MsgBox "There is no Command for Send.", vbExclamation, "Error": Exit Sub

If Winsock(1).State = 0 Then
Winsock(1).Protocol = CmdProt
Winsock(1).RemoteHost = CmdHost
Winsock(1).RemotePort = CmdPort
Select Case CmdProt
Case 0:
Winsock(1).Connect
Case 1:
Winsock(1).Bind
End Select
End If

Winsock(1).SendData txt_Send_command.Text
End Sub

saeed_sho
یک شنبه 01 مرداد 1391, 13:18 عصر
؟وقتی از وینسوک آرایه ای استفاده میکنیم باید در property windows پراپرتی ایندکس رو 0 بزاریم درسته؟ نکنه من اونو گزاشتم 0 ارور میده؟

saeed_sho
یک شنبه 01 مرداد 1391, 15:17 عصر
صفر ایندکس رو برداشتم ارور کامپایل داد
هیچ کس راهنمایی نمیکنه؟
مشکل من هنوز پابرجاست کدهارو اینجوری عوض کردم اما هر دفعه قسمت else شرط اجرا میشه و msgbox میده
Private Sub send_command_Click()
'On Error Resume Next
If txt_Send_command.Text = "" Then MsgBox "There is no Command for Send.", vbExclamation, "Error": Exit Sub

If Winsock(1).State = sckConnected Then Winsock(1).Close

Winsock(1).Protocol = CmdProt
Winsock(1).RemoteHost = CmdHost
Winsock(1).RemotePort = CmdPort
Select Case CmdProt
Case 0:
Winsock(1).Connect
Case 1:
Winsock(1).Bind
End Select

If Winsock(1).State = sckConnected Then
Winsock(1).SendData txt_Send_command.Text
Else
MsgBox "Your connection is close", vbOKOnly
End If
End Sub
لطفا راهنمایی کنید کارم خیلی گیره :متفکر: خیلی هم عجله دارم :گریه:

mpmsoft
یک شنبه 01 مرداد 1391, 16:15 عصر
این بخش از کد ممکن است با کمی تاخیر وصل شود
Winsock(1).State = sckConnected
برای همین شما باید توسط رویداد Winsock_Connect بعد از برقراری ارتباط اطلاعات مورد نظر را از درون این رویداد ارسال کنید