الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ممكن مساعدة في كود Winsock بسييييط

مغلق
بدأه smsm3650 في 12 أغسطس 2005 · 4 رد · 562 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هذا الكود لما اشغله تظهر فيه هذى الرسالة ليش

invalid operation at current state

هذا كود العميل

Private Sub Command1_Click()

Winsock1.Close

Winsock1.Connect "127.0.0.1", "1112"

End Sub

Private Sub Timer1_Timer()

Text1.Text = Winsock1.State

End Sub

Private Sub Winsock1_Connect()

Winsock1.SendData "WaaaaaaaaaaaW"

End Sub

Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)

Print "ERROOOOOOR"

End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

Dim GD As String

Winsock1.GetData (GD)

List1.AddItem GD

End Sub

وهذا كود الخادم

Private Sub Command1_Click()

Winsock1.Close

Winsock1.LocalPort = 1112

Winsock1.Listen

If Winsock1.State = 7 Then Print "......... OK ........."

End Sub

Private Sub Timer1_Timer()

Text1.Text = Winsock1.State

End Sub

Private Sub Winsock1_Connect()

Winsock1.SendData "ÚãáíÉ ÇáÅÊÕÇá ÊãÊ ÈäÌÇÍ "

End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)

Winsock1.Accept requestID

Winsock1.SendData "ÚãáíÉ ÇáÅÊÕÇá ÊãÊ ÈäÌÇÍ "

End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

Dim GD As String

Winsock1.GetData (GD)

List1.AddItem GD

End Sub

Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)

Print "ERROOOOOOR"

End Sub

#2

رد جد سريع :

أظن أن الخطأ موجود في كود ال Command1 لأنك تريد اغلاق الكونكشن و هي أصلا مغلقة !!!!

لذا يمكنك عمل Check لحالة الاتصال و بعد ذلك تنفيذ الكود على حسب النتيجة

و الله أعلم

#3

أخي .. انت لست ملعم بيسك فقط . وإنما معلم اخلاق ايضا

دلئما تقول والله اعلم في مقالاتك .. الله يزيدك من علمه

بس ممكن تعطيني انت الحل او تقولي ايش اللي اعدله في الكود علشان يشتغل

وجازاك الله خير

#4

يمكنك حل المشكل بعمل كود يتأكد من أن المستعمل ضغط على Connect ام لا و ذلك بالطريقة التالية :

اعمل زر اسمه مثلا Connect

و ال caption الخاصة به هي Connect

و في كود الحدث Click أكتب التالي :

If Connect.Caption="Connect" Then
Winsock.Connect xxxx,xxxx
Connect.Caption="Disconnect"
Else
Winsock.Close
Connect.Caption="Connect"
End If

تم تعديل هذه المشاركة بواسطة crazy-man في 12 أغسطس 2005 في 19:57

#5

الكود كله صحيح لكن الخطأ فى كود الخادم فى الجزء التالى

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)

Winsock1.Accept requestID

Winsock1.SendData "ÚãáíÉ ÇáÅÊÕÇá ÊãÊ ÈäÌÇÍ "

End Sub

والكود الصحيح هو

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long) 
Winsock1.Close
Winsock1.Accept requestID 
Winsock1.SendData "ÚãáíÉ ÇáÅÊÕÇá ÊãÊ ÈäÌÇÍ " 
End Sub

ان شاء الله سيعمل

هذا الموضوع مغلق.

مواضيع مشابهة