ACC2000: أمثلة الثاني التي استخدام عنصر تحكم ActiveX Winsock

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

209905
تمت أرشفة هذه المقالة. وتظهر "كما هي" ولن يتم تحديثها بعد الآن.
متقدمة: يتطلب ترميز الخبير إمكانية التشغيل المتداخل و مهارات متعددة المستخدمين.

يتم تطبيق هذا المقال فقط على قاعدة بيانات Microsoft Access (.mdb).

الموجز
توفر هذه المقالة على أمثلة حول استخدام عنصر تحكم Winsock ActiveX المثبتة مع أدوات الإصدار Microsoft Office 2000 المطور اثنين.
معلومات أخرى
يسمح عنصر تحكم Winsock الاتصال إلى الكمبيوتر بعيد وبيانات تبادل بين جهازي كمبيوتر العميل والملقم. يعتمد عنصر تحكم Winsock الصالحان: بروتوكول التحكم بالإرسال (TCP) "و" بروتوكول مخطط بيانات المستخدم (UDP).

TCP بروتوكول المستندة إلى الاتصال. analogy شائعة المستخدمة لوصف TCP التي هاتف. في هذا analogy يجب أن للمتصلين تأسيس اتصال على طرفي خط الهاتف قبل أن يمكن تبادل المعلومات. يجب أن يستلم كمبيوتر باستخدام TCP التأكيد من الكمبيوتر المتلقي اتصال قد تم تأسيسها من قبل جهازي الكمبيوتر نقل البيانات.

UDP بروتوكول بدون اتصال. analogy شائعة المستخدمة لوصف UDP التي الراديو. في هذا analogy يرسل محطة راديو به إشارة دون معرفة على أنه إذا كان الاستماع لأي شخص. يرسل بيانات كمبيوتر باستخدام UDP و لا يتطلب اتصال مع الكمبيوتر على نهاية الإرسال الاستقبال.

المثال 1 - استخدام عنصر تحكم ActiveX Winsock مع TCP

يستخدم هذا المثال نفس الكمبيوتر كل إرسال البيانات وتلقيها. إنشاء نموذج باستخدام ثلاثة عناصر تحكم Winsock. أحد عناصر التحكم بمحاكاة بيئة الكمبيوتر العميل بإرسال طلب اتصال إلى ملقم. محاكاة عنصري تحكم أخرى البيئة على كمبيوتر خادم: عنصر تحكم واحد لطلب اتصال ، ويقوم الآخر تقبل الطلب عندما يتعلق الأمر.
  1. إنشاء قاعدة بيانات فارغة جديدة باسم WinsockDemo.mdb.
  2. إنشاء نموذج جديد التالية (لا تعتمد على أي جدول أو استعلام) في طريقة العرض "تصميم":
       Form: TCPForm   ---------------------------------   Caption: TCP Form   Command button:      Name: cmdListen      Caption: Listen   Command button:      Name: cmdConnect      Caption: Establish Connection   Command button:      Name: cmdSend      Caption: Send Data   Command button:      Name: cmdRespond      Caption: Respond   Command button:      Name: cmdClose      Caption: Close Connection   Text box:      Name: Text1      Label Caption: Data Received:   Winsock control:      Name: axWinsockListen   Winsock control:      Name: axWinsockClient   Winsock control:      Name: axWinsockServer					
  3. في القائمة عرض، انقر فوق الرمز.
  4. اكتب السطر التالي في المقطع تعريف فئة الوحدة النمطية للنموذج:
    Dim wsListen, wsClient, wsServer As Winsock					
  5. اكتب الإجراءات التالية.

    لتوضيح كيفية عمل عنصر تحكم Winsock بين العميل والملقم, بالشكل الأمثل الإجراءات المذكورة في الترتيب الذي حدوثها.
    Private Sub Form_Load()   ' Set one server Winsock control and the client Winsock control   ' when the form loads.   Set wsListen = Me!axWinsockListen.Object   Set wsClient = Me!axWinsockClient.Object   ' Set the protocol for each control.   wsListen.Protocol = sckTCPProtocol   wsClient.Protocol = sckTCPProtocol   ' Set the remote host on the client Winsock control. Because   ' client and server are the same computer in this example, set   ' RemoteHost equal to LocalIP.   wsClient.RemoteHost = wsListen.LocalIP   ' Set a local and a remote port for the client.   wsClient.RemotePort = 100   wsClient.LocalPort = 99   ' Set a local and a remote port for the server. Note that the   ' server RemotePort is the client LocalPort and vice versa.   wsListen.LocalPort = 100   wsListen.RemotePort = 99End SubPrivate Sub cmdListen_Click()   ' Start the server listening for a connection request.   wsListen.Listen   Msgbox "Server is waiting for a connection request."End SubPrivate Sub cmdConnect_Click()   ' The client requests a connection with the server.   Msgbox "Client requested connection with server."   wsClient.ConnectEnd SubPrivate Sub axWinsockListen_ConnectionRequest(ByVal requestID As _   Long)   ' When the server receives a connection request, set the second   ' Winsock on the server to accept the request.   Set wsServer = Me!axWinsockServer.Object   wsServer.Protocol = sckTCPProtocol   ' Accept the connection request.   wsServer.Accept requestID   Msgbox "Server accepted client connection request."End SubPrivate Sub axWinsockClient_Connect()   ' When the server accepts the connection request, the Connect   ' event fires on the client. Display a message indicating success.   MsgBox "Connection Successful!"End SubPrivate Sub cmdSend_Click()   ' After a connection is established, use a command button to send   ' data from client to server.   wsClient.SendData "Hello"End SubPrivate Sub axWinsockServer_DataArrival(ByVal bytesTotal As Long)   Dim strClientMsg As String   ' The DataArrival event fires on the server when the client sends   ' information. Get the data and display it in a text box.   wsServer.GetData strClientMsg, vbString   Me!Text1.Value = strClientMsgEnd SubPrivate Sub cmdRespond_Click()   ' Send a message from the server to the client.   wsServer.SendData "Thanks for the message!"End SubPrivate Sub axWinsockClient_DataArrival(ByVal bytesTotal As Long)   Dim strServerMsg As String   ' The DataArrival event fires on the client when the server sends   ' information. Get the data and display it in a text box.   wsClient.GetData strServerMsg   Me!Text1.Value = strServerMsgEnd SubPrivate Sub cmdClose_Click()   ' Close the server connections   wsServer.Close   wsListen.Close   Msgbox "Server connections closed."End SubPrivate Sub axWinsockClient_Close()   ' Close event on client fires after server closes connection.   ' Close the client connection and display a message box.   wsClient.Close   MsgBox "Client connections closed. Good-Bye!"End Sub					
  6. احفظ وأغلق TCPForm.
  7. لفتح TCPForm في طريقة العرض "نموذج" وتنفيذ المهام التالية:
    1. انقر فوق الزر "الاستماع" بدء تشغيل الملقم في الاستماع طلب اتصال.

      لاحظ ظهور مربع الرسالة الذي يظهر انتظار الملقم اتصال للإشارة.
    2. انقر فوق الزر تأسيس الاتصال.

      ملاحظة مربع رسالة من عميل التحقق من نجاح الاتصال مربع الرسالة من الملقم التحقق من قبول الطلب.
    3. انقر فوق الزر إرسال البيانات ولاحظ ظهور الرسالة العميل "مرحباً" في مربع النص في النموذج.
    4. انقر فوق الزر الاستجابة ولاحظ أنه يتم عرض رسالة ملقم "شكراً الرسالة!" في مربع النص.
    5. انقر فوق الزر إغلاق الاتصال ولاحظ مربعات الرسائل من العميل والملقم تشير إلى إغلاق الاتصالات.

المثال 2 - استخدام عنصر تحكم ActiveX Winsock مع UDP

يستخدم هذا المثال نفس الكمبيوتر كل إرسال البيانات وتلقيها. إنشاء نموذج مع عنصري تحكم Winsock: أحد عناصر التحكم بمحاكاة جهاز الكمبيوتر العميل و عنصر تحكم آخر بمحاكاة الملقم.
  1. إنشاء قاعدة بيانات فارغة جديدة باسم WinsockDemo.mdb أو استخدام قاعدة البيانات الذي أنشأته في المثال السابق.
  2. إنشاء نموذج جديد التالية (لا تعتمد على أي جدول أو استعلام) في طريقة العرض "تصميم":
       Form: UDPForm   --------------------------------   Caption: UDP Form   Command button:     Name: cmdSend        Caption: Send Data     Text box:        Name: Text1        Label Caption: Data Received:     Winsock control:        Name: axWinsockClient     Winsock control:        Name: axWinsockServer					
  3. في القائمة عرض، انقر فوق الرمز.
  4. اكتب السطر التالي في المقطع تعريف فئة الوحدة النمطية للنموذج:
    Dim wsClient, wsServer As Winsock					
  5. اكتب الإجراءات التالية.

    لتوضيح كيفية عمل عنصر تحكم Winsock بين العميل والملقم, بالشكل الأمثل يتم سرد الإجراءات بالترتيب الذي حدوثها.
    Private Sub Form_Load()   ' Set the control objects when the form loads.   Set wsClient = Me!axWinsockClient.Object   Set wsServer = Me!axWinsockServer.Object   ' Set the protocol for client and server.   wsClient.Protocol = sckUDPProtocol   wsServer.Protocol = sckUDPProtocol   ' Set the host and ports for client and server. Because client   ' and server are the same computer in this example, set RemoteHost   ' equal to LocalIP.   wsServer.RemoteHost = wsClient.LocalIP   wsServer.RemotePort = 1007   wsClient.Bind 1007End SubPrivate Sub CmdSend_Click()   ' Send a broadcast message from the server.   wsServer.SendData "Hello"End SubPrivate Sub axWinsockClient_DataArrival(ByVal bytesTotal As Long)   Dim strServerMsg As String   ' When a message arrives from the server, display it in a text   ' box.   wsClient.GetData strServerMsg, vbString   Me!Text1.Value = strServerMsgEnd Sub					
  6. احفظ وأغلق النموذج UDPForm.
  7. افتح UDPForm في طريقة العرض "نموذج" ثم انقر فوق الزر إرسال البيانات.

    لاحظ أن مربع النص يعرض "مرحباً." لأن إرسال بدون اتصال ليس لديك لتأسيس اتصال ملقم - عميل.
ode

تحذير: تمت ترجمة هذا المقال تلقائياً

خصائص

رقم الموضوع: 209905 - آخر مراجعة: 01/11/2015 02:04:54 - المراجعة: 2.0

  • Microsoft Access 2000 Standard Edition
  • kbnosurvey kbarchive kbmt kbhowto kbinfo kbusage KB209905 KbMtar
تعليقات