السلام عليكم ورحمة الله وبركاته
كيف اجعل اداة الوينسوك تعود لانتظار الاتصال من جديد بعد استلامها البيانات
ولكم جزيل الشكر
السلام عليكم ورحمة الله وبركاته
كيف اجعل اداة الوينسوك تعود لانتظار الاتصال من جديد بعد استلامها البيانات
ولكم جزيل الشكر
السلام عليكم ورحمة الله وبركاته
اظن ان الامر Winsock.Listen يؤدى هذا الغرض والله اعلم :unsure:
إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال
شكرا عزيزي لكن حسب معلوماتي لم تستقيل وينسوك البيانات تقفل الاتصال . لكن لما استخدم الامر listen مرة تانية يطلعلي خطأ
حلى حد علمى ان الوينسوك لاتقطع الاتصال تلقائياً وانما يجب اعطاءها الامر Winsock.Close حتى تنهى الاتصال اما عند استقبال البيانات فانها لاتقطع الاتصال فانا تعاملت كثيرا مع ارسال البيانات بالوينسوك ولم تحدث هذه المشكلة معى ابداً فارجو مراجعة الكود او وضع الملف حتى نتمكن من ايجاد الخطأ.
تم تعديل هذه المشاركة بواسطة GHOST2010 في 20 مايو 2005 في 13:51
إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال
Private Sub wsk2_ConnectionRequest(ByVal requestID As Long)
wsk2.Close
wsk2.Accept requestID
End Sub
Private Sub wsk2_DataArrival(ByVal bytesTotal As Long)
Dim m As String
wsk2.GetData m
If m = "1" Then
Timer1.Enabled = False
else
Timer1.Enabled = True
End If
الفكرة في البرنامج هو ان البرنامج يستقبل رسالة من البرنامج الاخر فاذا كانت 0 يشغل العداد واذا 1 يوقفه
ولكن المشكلة تحدث في المرة الثانية وهو عندما تقوم بتشغيل العداد ثم ايقافه ثم تريد تشغيله من جديد فانه لا يعمل واذا اضفت امر انتظار جديد
يحدث خطأ
ولكم جزيل الشكر
والله أنا مش فاهم قصدك هل تريد إغلاق الإستقبال عند وقت معين لاتغلق الإتصال خليه يستقبل ومايعمل شئ أو أنك تريد شئ أخر
وإن لم يكن المطلوب ماهو بالأسفل أي استفسار أنا حاضر
تم تعديل هذه المشاركة بواسطة بلال حمدي في 20 مايو 2005 في 17:52
المحلة الكبري - كلية الطب جامعة الأزهر بدمياط
من مواضيعي
برنامج تحويل mp3,wav,wma إلى exe والكود موجود
أداة تصميم الفورم على شكل صورة مع الكود
واحدة من أحدث الشفرات بمناسبة إنتهاء الإمتحانات
أفضل الإختصارات لكود برنامج خفي السواقات(الدرايفات
مؤثر عرض على مجموعة من الجمل تشبة المنتديات
إليكم أداة شاشة العرض مع الكود
برنامج تحويل exe,dll إلى Ico مع الكود
من المواضيع التي شاركت فيها
كيف يتم تصدير محتويات الفورم على شكل صورة؟
كيفية إعادة تسمية المجلدات Folders
Colored List Box Control with Horizontal Scroll
وهناك الجديد إن شاء الله
Private Sub Computer_Think()
On Error Tray Again
If You = "Real Computer" Then
DoIt("By Your Self")
Else
Kick("Your Self")
End If
End Subالسلام عليكم
مو نحن نقوم بقفل الاتصال في الكود التالي
Winsock1.Close
DoEvents
Winsock1.Accept requestID
وحتى انك اذا جربت ترسل للبرنامج مرة اخرى فستجده لا يستقبل البيانات
جرب الكود التالي
بحيث تصنع مصفوفة من نفس الأداة
private form_load() winsock(0).localport=1001 winsock(0).listen end sub
وفي حدث ال connectionrequest
if winsock(1).state=0 then winsock(1).accept requestid end if
وفي حدث ال Dataarrival
dim s as string winsock(1).getdata s msgbox s
في الحقيقة كتبت الكود من دون ان اجربه اتمنى ان يكون ماشي معاك
*************************************************
**************************************************
مصطفى زيداني
أخي العزيز أداة الوينسوك بمجرد عمل استماع لها 'Winsock.Listen' تبدأ بفتح البورت المحدد مسبقا و في حدث ال DataArrival يمكنك تلقي المعلومات الآتية من الجهاز الآخر
وسواء تم استقبال معلومات أو لا فالوينسوك تبقي في حالة انصات مالم تعمل لها Close
مشكوريين يا شباب
اقتباسوحتى انك اذا جربت ترسل للبرنامج مرة اخرى فستجده لا يستقبل البيانات
هل تقصد إذا أغلقت الإتصال لا يقوم بالإتصال مرة أخرى ؟؟؟إذا أضف الكود في ملف server
Private Sub Winsock1_Close() Winsock1.Close Winsock1.Listen End Sub
سلاااااااام
المحلة الكبري - كلية الطب جامعة الأزهر بدمياط
من مواضيعي
برنامج تحويل mp3,wav,wma إلى exe والكود موجود
أداة تصميم الفورم على شكل صورة مع الكود
واحدة من أحدث الشفرات بمناسبة إنتهاء الإمتحانات
أفضل الإختصارات لكود برنامج خفي السواقات(الدرايفات
مؤثر عرض على مجموعة من الجمل تشبة المنتديات
إليكم أداة شاشة العرض مع الكود
برنامج تحويل exe,dll إلى Ico مع الكود
من المواضيع التي شاركت فيها
كيف يتم تصدير محتويات الفورم على شكل صورة؟
كيفية إعادة تسمية المجلدات Folders
Colored List Box Control with Horizontal Scroll
وهناك الجديد إن شاء الله
Private Sub Computer_Think()
On Error Tray Again
If You = "Real Computer" Then
DoIt("By Your Self")
Else
Kick("Your Self")
End If
End Subماحد رد على سؤالي ياشباب
الاهو معرفة رقم الاي بي للجهاز
عن طريق الشفرة
هذا الكود لأحضار رقم ال ip عن طريق ال API :
فى الفورم اكتب التالى
Private Sub Form_Load() MsgBox GetWanIP End Sub
انشأ module و اكتب التالى
Const MAX_IP = 5 'To make a buffer... i dont think you have more than 5 ip on your pc.. Type IPINFO dwAddr As Long ' IP address dwIndex As Long ' interface index dwMask As Long ' subnet mask dwBCastAddr As Long ' broadcast address dwReasmSize As Long ' assembly size unused1 As Integer ' not currently used unused2 As Integer '; not currently used End Type Type MIB_IPADDRTABLE dEntrys As Long 'number of entries in the table mIPInfo(MAX_IP) As IPINFO 'array of IP address entries End Type Type IP_Array mBuffer As MIB_IPADDRTABLE BufferLen As Long End Type Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long) Public Declare Function GetIpAddrTable Lib "IPHlpApi" (pIPAdrTable As Byte, pdwSize As Long, ByVal Sort As Long) As Long 'converts a Long to a string Public Function ConvertAddressToString(longAddr As Long) As String Dim myByte(3) As Byte Dim Cnt As Long CopyMemory myByte(0), longAddr, 4 For Cnt = 0 To 3 ConvertAddressToString = ConvertAddressToString + CStr(myByte(Cnt)) + "." Next Cnt ConvertAddressToString = Left$(ConvertAddressToString, Len(ConvertAddressToString) - 1) End Function Public Function GetWanIP() As String Dim Ret As Long, Tel As Long Dim bBytes() As Byte Dim TempList() As String Dim TempIP As String Dim Tempi As Long Dim Listing As MIB_IPADDRTABLE Dim L3 As String On Error GoTo END1 GetIpAddrTable ByVal 0&, Ret, True If Ret <= 0 Then Exit Function ReDim bBytes(0 To Ret - 1) As Byte ReDim TempList(0 To Ret - 1) As String 'retrieve the data GetIpAddrTable bBytes(0), Ret, False 'Get the first 4 bytes to get the entry's.. ip installed CopyMemory Listing.dEntrys, bBytes(0), 4 For Tel = 0 To Listing.dEntrys - 1 'Copy whole structure to Listing.. CopyMemory Listing.mIPInfo(Tel), bBytes(4 + (Tel * Len(Listing.mIPInfo(0)))), Len(Listing.mIPInfo(Tel)) TempList(Tel) = ConvertAddressToString(Listing.mIPInfo(Tel).dwAddr) Next Tel 'Sort Out The IP For WAN TempIP = TempList(0) For Tempi = 0 To Listing.dEntrys - 1 L3 = Left(TempList(Tempi), 3) If L3 <> "169" And L3 <> "127" And L3 <> "192" Then TempIP = TempList(Tempi) End If Next Tempi GetWanIP = TempIP 'Return The TempIP Exit Function END1: GetWanIP = "" End Function
1- لا خير في حسن الجسوم وطولها إن لم يزن حسن الجسوم عقول
2- لا تنظر إلى صغر الخطيئة .. ولكن انظر إلى عظم من عصيت
3- قد يجمع المال غير آكله . . ويأكل المال غير من جمعه
4- من وثق بالله أغناه ومن توكل عليه كفاه ومن خافه قلت مخافته ومن عرفه تمت معرفته
5- أن تضيء شمعة صغيرة خير لك من أن تنفق عمرك تلعن الظلام
6- لا يحزنك إنك فشلت مادمت تحاول الوقوف على قدميك من جديد
7- صديقك من يصارحك بأخطائك لا من يجملها ليكسب رضاءك
8 - الابتسامة كلمة طيبة بغير حروف
9- لا داعى للخوف من صوت الرصاص .. فالرصاصة التى تقتلك لن تسمع صوتها
10 -- يستطيع الناس أن يعيشوا بلا هواء بضع دقائق وبلا ماء أسبوعين وبلا
طعام حوالى شهرين وبلا أفكار سنوات لا حصر لها
من مواضيعى :
--------------
دروس تعلم كيف تصحح أخطائك بنفسك
برنامج الحائط النارى العربى ---- جديد
برنامج ساعة بالعقارب ------ جديد
غير نظرتك لل picturebox وانظر ماذا فعلت بها
حمل ملف فلاش على الفورم بكل سهولة
مكتبة تحتوى على 50000 كتاب مجانى معظمها عن الكمبيوتر و البرمجة
لا اله الا الله .. محمد رسول الله
(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)
يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين
شاك ومقدر اخي VB6-Rocket حسن تعاونك معي
لمعرفة اي بي الجهاز باستخدام اداة وينسوك
print winsock1.localip
أخى لمعرفة الأى بى الداخلى للجهاز Private IP or Lan IP فيمكنك أستخدام هذا الأمر Text1.text = Winsock1.localip
أما إذا كنت تريد الأى بى الخارجى الخاص بالأنترنت Wan IP or Public IP فيمكنك تطبيق كود الأخ VB-Rocket جزاه الله خيراً
المحلة الكبري - كلية الطب جامعة الأزهر بدمياط
من مواضيعي
برنامج تحويل mp3,wav,wma إلى exe والكود موجود
أداة تصميم الفورم على شكل صورة مع الكود
واحدة من أحدث الشفرات بمناسبة إنتهاء الإمتحانات
أفضل الإختصارات لكود برنامج خفي السواقات(الدرايفات
مؤثر عرض على مجموعة من الجمل تشبة المنتديات
إليكم أداة شاشة العرض مع الكود
برنامج تحويل exe,dll إلى Ico مع الكود
من المواضيع التي شاركت فيها
كيف يتم تصدير محتويات الفورم على شكل صورة؟
كيفية إعادة تسمية المجلدات Folders
Colored List Box Control with Horizontal Scroll
وهناك الجديد إن شاء الله
Private Sub Computer_Think()
On Error Tray Again
If You = "Real Computer" Then
DoIt("By Your Self")
Else
Kick("Your Self")
End If
End Subهذا الموضوع مغلق.