عند استخدام بروتوكول TCP، إذا كنت بحاجة إلى إنشاء تطبيق عميل، فيجب عليك تحديد الاسم أو عنوان IP الخاص بالخادم. سيقوم منفذ الاتصال الخاص بالتطبيق بمراقبة الرسائل المرسلة من قبل الطرف الآخر بعناية في أي وقت، وهو ما يضمن الاتصال الموثوق للنظام. بمجرد حدوث الاتصال، يمكن لأي من الطرفين إرسال واستقبال البيانات من خلال SendData وفصل البيانات الخاصة به من خلال GetData. عند إرسال البيانات، تحتاج إلى تعيين سمة LocalPort الخاصة بالعميل أولاً. يحتاج الخادم فقط إلى تعيين سمة RemoteHost على عنوان Ethernet الخاص بالعميل، وتعيين عنوان المنفذ نفسه كسمة LocalPort الخاصة بالعميل، والبدء في إرسال الرسائل بمساعدة SendData. طريقة. . يقوم العميل بفصل المعلومات المرسلة من خلال حدث DataArrival في حدث GetData. يسمح عنصر تحكم Winsock لجهاز كمبيوتر محلي بالاتصال بكمبيوتر بعيد باستخدام بروتوكولات UDP أو TCP ويمكن لكلا البروتوكولين إنشاء تطبيقات العميل والخادم.
عند استخدام عنصر التحكم Winsock، يحتاج كلا طرفي الاتصال إلى تحديد نفس البروتوكول. يعد بروتوكول TCP مناسبًا لنقل ملفات البيانات ذات السعة الكبيرة التي تتطلب ضمانات أمنية، بينما يعد بروتوكول UDP مناسبًا للمواقف التي تحتاج فيها إلى التواصل مع العديد من المرؤوسين بشكل منفصل، أو عندما تكون هناك اتصالات كثيرة ومتغيرة بمرور الوقت، خاصة عند إنشاء كمية البيانات صغيرة. يمكنك استخدام الأسلوب Winsock1.PRotocol=sckTCPProtocol عند الإعداد أولاً، ابحث عن اسم جهاز الكمبيوتر الخاص بك وأضفه إلى خاصية LocalHost الخاصة بـ Winsock.
عند إنشاء تطبيق، يجب عليك أولاً تحديد ما إذا كنت تقوم بإنشاء تطبيق عميل أو خدمة خادم. فقط عندما يبدأ تطبيق الخادم المؤسس في العمل ويدخل في حالة الاستماع، يبدأ تطبيق العميل في إنشاء اتصال والدخول في حالة اتصال عادية. . أنشأ المؤلف تطبيقًا تتمثل وظيفته في أنه عندما يتحرك ماوس العميل، يمكن لتطبيق الخادم عرض موضع الماوس في الوقت الفعلي.
إليك كيفية إنشاء تطبيق خادم:
1. قم بإنشاء ملف EXE قياسي جديد؛
2. إضافة عنصر تحكم Winsock؛
3. أضف الكود التالي:
برايفتسوبفورملواد ()
tcpServer.LocalPort=1001
tcpServer.Localhost=server
tcpServer.remotePort=1002
tcpServer.Localhost=klint
tcpServer.Listen
EndSub
"فحص الاتصال."
PrivateSubtcpServerConnectionRequest(ByValrequestIDAsLong)
IftcpServer.State<>sckClosedThen
tcpServer.Close
tcpServer.AcceptrequestID
EndSub
"أرسل البيانات."
PrivateSubfrmservermonsemove(x,y)
tcpServer.SendDatax&str(x)
tcpServer.SendDatay&str(y)
EndSub
كيفية بناء تطبيق العميل هي:
1. قم بإنشاء ملف EXE قياسي جديد؛
2. إضافة عنصر تحكم Winsock؛
3. أضف مربعي نص - txtx وtxty؛
4. أضف الكود التالي:
برايفتسوبفورملواد ()
tcpServer.LocalPort=1002
tcpServer.Localhost=klint
tcpServer.remotePort=1001
tcpServer.Localhost=server
tcpServer.Listen
EndSub
"فحص الاتصال."
PrivateSubtcpklintConnectionRequest
(بواسطةValrequestIDAsLong)
Iftcpklint.State<>sckClosedThen
tcpklint.Close
tcpklint.AcceptrequestID
EndSub
تلقي البيانات
PrivateSubtcpClientDataArrival
(بواسطةValbytesTotalAsLong)
DimstrDataAsString
tcpklint.GetDatastrData
ifleft(strData,1)=Xthen
txtx.Text=strData
آخر
txty.Text=strData
com.endif
EndSub
ينفذ الروتين أعلاه اتصالًا بسيطًا جدًا من نقطة إلى نقطة مع تعديلات طفيفة على هذا الأساس، يمكن تشكيل نظام اتصالات تفاعلي AA لشبكة كمبيوتر معقدة وظيفيًا للتحكم ومحاكاة الرسومات وما إلى ذلك. يوفر لنا Winsock in VB طريقة بسيطة لنقل البيانات، مما يتيح لنا تحقيق الاتصال عبر الشبكة من نقطة إلى نقطة بسهولة.
->