ACC2000: Winsock ActiveX 컨트롤을 사용하는 두 예제

기술 자료 번역 기술 자료 번역
기술 자료: 209905 - 이 문서가 적용되는 제품 보기.
고급: 전문적인 코드 작성, 상호 운용성 및 다중 사용자 기술이 필요합니다.

이 문서에서는 경우에만 Access 데이터베이스를 수 (.mdb) 적용됩니다.

모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 Office 2000 Microsoft 개발자 버전 도구를 사용하여 설치된 Winsock ActiveX 컨트롤을 사용하는 방법 두 가지 예제를 제공합니다.

추가 정보

Winsock 컨트롤을 사용하면 클라이언트 및 서버 컴퓨터 간에 원격 컴퓨터 및 교환 데이터를 연결할 수 있습니다. Winsock 컨트롤 두 프로토콜을 지원합니다: TCP (전송 제어 프로토콜) 및 UDP (사용자 데이터그램 프로토콜).

TCP는 연결 기반의 프로토콜입니다. TCP 설명하는 데 사용되는 일반적인 예로 전화 사용됩니다. 이 예로 정보를 교환할 수 전에 호출자가 전화 회선 양 끝에 연결에서 설정해야 합니다. TCP를 사용하여 컴퓨터 연결을 왔습니다 수신 컴퓨터에서 확인 메시지가 합니다 전에 두 컴퓨터 데이터를 전송할 수 있습니다.

UDP 비연결 프로토콜입니다. UDP 설명하는 데 사용되는 일반적인 예로 사용하여 라디오 사용됩니다. 이 예로 라디오 방송국을 누구나 수신 대기 중인 경우에 대해 확실히 알지 못해도 해당 신호를 브로드캐스트합니다. UDP를 사용하여 컴퓨터 데이터를 보내고 받는 끝에 전송 컴퓨터와의 연결이 필요하지 않습니다.

예제 1 - TCP 함께 Winsock ActiveX 컨트롤 사용

이 예제에서는 모두 데이터를 보내고 받을 수 있는 컴퓨터에 사용합니다. 세 가지 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 = 99
    End Sub
    
    Private Sub cmdListen_Click()
       ' Start the server listening for a connection request.
       wsListen.Listen
       Msgbox "Server is waiting for a connection request."
    End Sub
    
    Private Sub cmdConnect_Click()
       ' The client requests a connection with the server.
       Msgbox "Client requested connection with server."
       wsClient.Connect
    End Sub
    
    Private 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 Sub
    
    Private 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 Sub
    
    Private Sub cmdSend_Click()
       ' After a connection is established, use a command button to send
       ' data from client to server.
       wsClient.SendData "Hello"
    End Sub
    
    Private 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 = strClientMsg
    End Sub
    
    Private Sub cmdRespond_Click()
       ' Send a message from the server to the client.
       wsServer.SendData "Thanks for the message!"
    End Sub
    
    Private 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 = strServerMsg
    End Sub
    
    Private Sub cmdClose_Click()
       ' Close the server connections
       wsServer.Close
       wsListen.Close
       Msgbox "Server connections closed."
    End Sub
    
    Private 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. 데이터 보내기 단추를 클릭하고 "Hello" 클라이언트 메시지가 폼의 텍스트 상자에 나타납니다.
    4. 응답 단추를 클릭하고 텍스트 상자에서 "메시지에 대한 고마워!" 서버 메시지가 표시됩니다.
    5. 연결 닫기 단추를 누르고 클라이언트 및 서버 연결을 닫은 나타내는 메시지 상자를 확인하십시오.

예제 2 - UDP 함께 Winsock ActiveX 컨트롤 사용

이 예제에서는 모두 데이터를 보내고 받을 수 있는 컴퓨터에 사용합니다. 두 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 1007
    End Sub
    
    Private Sub CmdSend_Click()
       ' Send a broadcast message from the server.
       wsServer.SendData "Hello"
    End Sub
    
    Private 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 = strServerMsg
    End Sub
    					
  6. 저장 및 UDPForm 폼을 닫습니다.
  7. UDPForm 폼 보기에서 열고 데이터 보내기 단추를 클릭하십시오.

    텍스트 상자에 "Hello" 표시하는 것을 유의하십시오. UDP는 연결 없는 전송 때문에 클라이언트-서버 연결을 설정할 필요가 없습니다.

속성

기술 자료: 209905 - 마지막 검토: 2004년 6월 28일 월요일 - 수정: 2.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Access 2000 Standard Edition
키워드:?
kbmt kbhowto kbinfo kbusage KB209905 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com