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

الرجاء المساعدة ياشباب في اداة الوينسوك ( winsock ) ..

مغلق
بدأه العالم في 27 مايو 2006 · 6 رد · 971 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

===================

رجاءا المساعدة يا شباب فيما يلي

عملت هذا المثال وهو خاص باداة الوينسوك وهو يقوم ان يتصل اكثر من عميل ببرنلمج السيرفر ( الخادم ) .. وهؤلاء العملاء تم وضعهم في برنامج واحد وسمي ( بالعميل ) والذي اريده منكم كيف يمكنني ان اعمل مصفوفة ( بالكود ) من اداة الوينسوك ليتم اتصال اكثر من عميل كما في برنامج السيرفر حيث انني عملت ذلك بوضع اكثر من اداة وينسوك على الفورم ..

والامر الثاني عندما يتم تشغيل برنامج العميل قبل السيرفر يحدث خطأ في برنامج السيرفر ولا ادري ما سبب هذا الخطأ

حيث انني سوف استخدم هذا ن البرنامجان في مقهى ( حيث سيتم وضه برنامج العميل في الجهاز الذي يتصل بالانترنت بالمودم ،، وبرنامج السيرفر سيتم وضعه في بقية اجهزة المقهى المتصلة بالجهاز الرئيسيي )

ارجو التفاعل مع الموضوع وشكرا

المرفقات ،،

cafnet.rar

** أقم صلاتك قبل مماتك **

الصلاة : جالبة للرزق . حافظة ‏للصحة دافعة للأذى ، طاردة للأدواء ، مقوية للقلب ، مبيضة للوجه ، ‏مفرحة للنفس ، مذهبة للكسل ، منشطة للجوارح ، ممدة للقوى ‏،شارحة للصدر، مغذية للروح ، منورة للقلب ، حافظة للنعمة ، دافعة ‏للنقمة ، جالبة للبركة, مبعدة من الشيطان.

* هل تعلم أن النبي صلى الله عليه وسلم وصف تارك الصلاة بالكفر ؟

‏* هل تعلم أن الذي لا يصلي إذا مات لا يدفن في مقابر المسلمين!!

‏* هل تعلم أن أول ما تحاسب عليه الصلاة ؟

‏* هل تعلم أن تارك الصلاة يحشر يوم القيامة مع فرعون ؟

‏* هل تعلم أن تارك الصلاة مع المجرمين في جهنم ؟

#2

السلام عليكم ..

تستطيع كتابه الكود التالي (بفرض ان اسم الاداه الذي سوف نجعلها مصفوفه wnsClient ) في الحدث الخاص بطلب الاتصال (تقريباًَ هو ConnectionRequst)

Load wnsClient(intCurIndex)
intCurIndex=intCurIndex + 1

حيث ان intCurIndex هو متغير عام يحتوي على الفهرس Index الخاص باخر عنصر في المصفوفة , وذلك حتى يتم اضافه عنصر جديد الى المصفوفة بعد اخر عنصر .

بالتوفيق :rolleyes:

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#3

اخواني في الله ...

الذي اريده هو انني عملت اداة الوينسوك في برنامج العميل يدويا اي انني عملتها اثناء عملية التصميم والذي اريده كيف يمكنني عملها برمجيا اي مثل برنامج السيرفر ..

والامر الثاني لاحظو ان عند تشغيل برنامج العميل قبل السيرفر يظهر لي خطأ ولا ادري ما السبب في ذلك ...

ارجـــــــــــــــــــــــــــــــــــــــــــــــــــــــوكم ......

للرفع

للرفع

** أقم صلاتك قبل مماتك **

الصلاة : جالبة للرزق . حافظة ‏للصحة دافعة للأذى ، طاردة للأدواء ، مقوية للقلب ، مبيضة للوجه ، ‏مفرحة للنفس ، مذهبة للكسل ، منشطة للجوارح ، ممدة للقوى ‏،شارحة للصدر، مغذية للروح ، منورة للقلب ، حافظة للنعمة ، دافعة ‏للنقمة ، جالبة للبركة, مبعدة من الشيطان.

* هل تعلم أن النبي صلى الله عليه وسلم وصف تارك الصلاة بالكفر ؟

‏* هل تعلم أن الذي لا يصلي إذا مات لا يدفن في مقابر المسلمين!!

‏* هل تعلم أن أول ما تحاسب عليه الصلاة ؟

‏* هل تعلم أن تارك الصلاة يحشر يوم القيامة مع فرعون ؟

‏* هل تعلم أن تارك الصلاة مع المجرمين في جهنم ؟

#4

ارجو منك البحث جيدا قبل طرح الاسئلة وستجد 100 إجابة عن موضوعك بدل انتظار الاجابة ...:)

1- لا خير في حسن الجسوم وطولها إن لم يزن حسن الجسوم عقول

2- لا تنظر إلى صغر الخطيئة .. ولكن انظر إلى عظم من عصيت

3- قد يجمع المال غير آكله . . ويأكل المال غير من جمعه

4- من وثق بالله أغناه ومن توكل عليه كفاه ومن خافه قلت مخافته ومن عرفه تمت معرفته

5- أن تضيء شمعة صغيرة خير لك من أن تنفق عمرك تلعن الظلام

6- لا يحزنك إنك فشلت مادمت تحاول الوقوف على قدميك من جديد

7- صديقك من يصارحك بأخطائك لا من يجملها ليكسب رضاءك

8 - الابتسامة كلمة طيبة بغير حروف

9- لا داعى للخوف من صوت الرصاص .. فالرصاصة التى تقتلك لن تسمع صوتها

10 -- يستطيع الناس أن يعيشوا بلا هواء بضع دقائق وبلا ماء أسبوعين وبلا

طعام حوالى شهرين وبلا أفكار سنوات لا حصر لها

من مواضيعى :

--------------

دروس تعلم كيف تصحح أخطائك بنفسك

برنامج الحائط النارى العربى ---- جديد

برنامج ساعة بالعقارب ------ جديد

لعبة سناك الشهيرة مع الكود

غير نظرتك لل picturebox وانظر ماذا فعلت بها

حمل ملف فلاش على الفورم بكل سهولة

مكتبة تحتوى على 50000 كتاب مجانى معظمها عن الكمبيوتر و البرمجة

برنامج المترجم العربى لترجمة الافلام

#5

سيدي ، ليه مصم السيرفر هو اللي بيتصل بالكلاينت اجعل فقط الكلاينت هو فقط الي يتصل بالسيرفر ، ستتجنب الخطأ الموجود لديك .

الإنسان الذي يقول بأنه لا يمكن عمل شيء يجب ألا يعيق مطلقاً الإنسان الذي يقوم بعمل ذلك الشيء.

إن تخطئ فأنت إنسان ... أما أن تلوم جهازك الكمبيوتر على خطأك فهذا أكثر إنسانية.

#6

بسم الله الرحمن الرحيم

ارجو من اخواني المشرفين و الاعضاء التفاعل مع هذا الموضوع ولو بالقليل ...

عملت هذا البرنامج من اقوم بارسال رسائل من العميل الى السيرفر ( في مقهى ) حيث انني اضع برنامج ( العميل ) في الكمبيوتر الذي يتصل بالانترنت ( بالمودم ) وبرنامج السرفر اضعه في الكمبيوترات الاخرى في المقهى مثلا الجهاز المسمى ( PC1 - PC2 ... ) !!! هنا !!! هل هذه الطريقة صحيحة ام العكس ..

والامر الثاني عملت مصفوفة في برنامج السيرفر حيث انني نقلتها من شرح اخوي ( ابوحنان ) في احدى مشاركته القيمة .. ولكنني عجزت ان ارسل رسالة من برنامج السرفر الى العميل وهنا عندي مصفوفه فماذا اكتب عندما ارسل رسالة هل wsk(index) ام ماذا حيث انني عملتها لكنها تظهر خطأ .. ارجو المساعدة هنا

** أقم صلاتك قبل مماتك **

الصلاة : جالبة للرزق . حافظة ‏للصحة دافعة للأذى ، طاردة للأدواء ، مقوية للقلب ، مبيضة للوجه ، ‏مفرحة للنفس ، مذهبة للكسل ، منشطة للجوارح ، ممدة للقوى ‏،شارحة للصدر، مغذية للروح ، منورة للقلب ، حافظة للنعمة ، دافعة ‏للنقمة ، جالبة للبركة, مبعدة من الشيطان.

* هل تعلم أن النبي صلى الله عليه وسلم وصف تارك الصلاة بالكفر ؟

‏* هل تعلم أن الذي لا يصلي إذا مات لا يدفن في مقابر المسلمين!!

‏* هل تعلم أن أول ما تحاسب عليه الصلاة ؟

‏* هل تعلم أن تارك الصلاة يحشر يوم القيامة مع فرعون ؟

‏* هل تعلم أن تارك الصلاة مع المجرمين في جهنم ؟

#7

السلام عليكم ورحمة الله

بداية... اخي الكريم... يجب وجود Option Explicit

على كل حال حاولت مراراً التعديل على الكود الخاص بالسيرفر لإعتقادي بأنه يحوي المشكلة

ولكن صنعت كود بسيط ليكون سيرفر

ان شاء الله فيه الفائده.... وان كان لازم بعملك كمان كود العميل اخي

ولكن اود منك المقارنة بين الكودين ومن ثم تذكر لي ما الفرق بينها... من فضلك.

Option Explicit
Private lPort As Long
Private iMaxConnection As Integer
Private bEnding As Boolean

Private Sub Form_Load()
iMaxConnection = 100	'// Maximum connections allowed
lPort = 5000					'// Starting Port
With Winsock1(0)
	.LocalPort = lPort + 0			  '// Keeping a track... Ports are lPort + Socket's Index
	.Bind lPort
	.Listen					 '// Start Listening session
End With
Me.Caption = "Server application"			'// Just a Title!
AddToLog "Establishing server... Listening..", 0
End Sub

Private Sub Form_Resize()
On Error Resume Next
List1.Move 0, 0, ScaleWidth, ScaleHeight
End Sub

Private Sub Form_Unload(Cancel As Integer)
Dim i As Integer
On Error Resume Next			'// Exit no matter what :D
bEnding = True					  '// Flag the End for the Even Close Socket to be disabled
For i = Winsock1.LBound To Winsock1.UBound
	Winsock1(i).Close			   '// Closeing Socket
Next
End Sub

Private Sub Winsock1_Close(Index As Integer)
If bEnding = True Then Exit Sub
With Winsock1(Index)
	If .State <> sckClosed Then
		.Close
		.Listen
	End If
End With
End Sub

Private Sub Winsock1_Connect(Index As Integer)
	AddToLog "Connected..", Index	   '// Writting to Log
	CheckForNewSockets				  '// Check if there are any avilable sockets
End Sub

Private Sub Winsock1_ConnectionRequest(Index As Integer, ByVal requestID As Long)
With Winsock1(Index)
	If .State <> sckClosed Then .Close
	AddToLog "Requesting connection detected! .. ID:" & CStr(requestID), Index  '// Writting to Log
   .Accept requestID			'// Accepting the request to connect
End With
End Sub

Private Sub Winsock1_Error(Index As Integer, 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)
With Winsock1(Index)
	AddToLog "# Error # Code:" & CStr(Number) & "  Description:" & Description, Index
	CancelDisplay = True	'// Block the Error Message while its written in the Log TextBox already
	.Close		  '// Just close it, we dont need to unload it tho
End With
End Sub

Private Sub CheckForNewSockets()
Dim i As Integer
For i = Winsock1.LBound To Winsock1.UBound
	If Winsock1(i).State = sckListening Then Exit Sub
Next
i = Winsock1.UBound
If i = iMaxConnection Then
	AddToLog "Max connection has been detected", i
	Exit Sub			 '// Max Connection has been detected
End If
i = i + 1				   '// Issue a new Socket
Load Winsock1(i)
With Winsock1(i)
	.LocalPort = lPort + i		  '// Issue port for the new Socket  [lPort the Socket's Index]
	.Bind lPort
	.Listen
End With
AddToLog "New Socket added", i
End Sub

Private Sub AddToLog(pMessage As String, SocketIndex As Integer)
	'// Just a log... Better to always keep a LOG either to TextBox, ListBox  or file
	List1.AddItem "Socket(" & SocketIndex & ") :" & pMessage
End Sub

المطلوب لتشغيل الكود هو

Form

ListBox Named List1

Windows Socket Names winsock1 Index=0

أقترح ان يكون هناك تعرفة بين الخادم والعميل كأن يرسل العميل اسم الجهاز او أي معلومه للخادم لكي تظهر في القائمة.

شارك معنا في (عمل مشاريع برمجيه بمشاركة جميع الأعضاء هنا, مشاريع برمجية كاملة)

تم تعديل هذه المشاركة بواسطة meynot في 28 مايو 2006 في 18:39

من سجن عكا وطلعــت جنـازة...

محمد جمجوم و فؤاد حجـازي

جازي عليهم يا شعبــي جازي...المندوب السامي وربعه عموما

محمد جمجوم ومع عطا الزير...فؤاد حجـــــــــازي عز الذخيـره

فلـسطـين

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…