Понедельник, 21 октября 2019

vb winsock 예제

36

연결 처리기에서 연결을 수락하려는 Winsock 컨트롤이 필요합니다. 현재 수신기를 연결로 사용할 수 있지만 수신기를 중지해야하며 동시에 다른 연결을 수락하려면? 오른쪽? 그래서, 당신은 또 다른 Winsock 컨트롤이 필요합니다. 이제 양식에 추가할 필요가 없으므로 양식에 추가할 필요가 없으므로 어느 시점에서 이 전에 인스턴스화할 수 있습니다. 다음은 연결 요청 처리기의 예입니다: 서버 및 클라이언트에 대한 모든 데이터 — DataArrival 메서드를 통해 제공됩니다. GetData 메서드를 사용 하 여 제공 하는 데이터를 가져옵니다. 다음은 데이터를 가져오는 짧은 예입니다: 다음으로 EOT(전송 끝) 문자(Dim byterm by byte = 4)를 확인합니다. EOT 문자는 이 컨트롤을 사용하여 보내는 모든 데이터에 추가됩니다. 그것은 컨트롤이 겹치는 데이터를 분리 할 수 있습니다 — 데모 프로젝트는 사진을 두 번 보낼 때이 예제를 보여 주며 수신 소켓은 하나의 데이터 블록으로 수신하므로 이를 분리 할 수 있어야합니다. 이것은 While 루프, 버퍼 컬렉션에 첫 번째 개체 데이터를 저장 (GetData 동안 데이터 검색에 사용) 및 바이트 버퍼에서 해당 개체를 잘립니다 동안 진행 됩니다.

마지막으로 While 루프는 DataArrival 이벤트를 발생시켜 버퍼 컬렉션으로 전송된 개체를 잡을 수 있도록 합니다. Winsock는 마이크로소프트에 의해 유지 되는 표준입니다. 이 표준은 기본적으로 TCP/IP 스택과의 통신을 설명하는 루틴 집합입니다. 이러한 루틴은 Windows에서 실행되는 동적 링크 라이브러리에 있습니다. winsock DLL은 TCP / IP와 인터넷을 통해 거기에서 인터페이스됩니다. Winsock 제어의 중요한 방법 중 일부는 다음과 같습니다:MethodAccept클라이언트 시스템에서 연결 요청을 수락합니다. 이 메서드를 사용하려면 컨트롤이 수신 대기 상태여야 합니다. 방법 닫기 닫기 메서드는 클라이언트 또는 서버 응용 프로그램에서 TCP 연결을 종료합니다. GetData MethodGetData 버퍼에서 데이터의 현재 블록을 검색 하 고 변형 형식의 변수에 저장 하는 메서드입니다. PeekData 방법PeekData 메서드는 GetData 메서드와 유사한 방식으로 작동합니다. 그러나 입력 큐에서 데이터를 제거 하지 않습니다. 듣기 Method 서버 응용 프로그램이 클라이언트 시스템에서 연결에 대한 TCP 요청을 기다리도록 서버 응용 프로그램에서 호출됩니다.

SendData 메서드이 메서드는 원격 컴퓨터에 데이터를 디스패치합니다. 클라이언트와 서버 시스템 모두에 사용됩니다. 방법 연결연결 방법은 원격 컴퓨터에 대한 연결을 요청합니다. 나는 여기서 사건을 논의하지 않을 것이다. Microsoft 사이트(http://www.microsoft.com)에서 이벤트에 대한 자세한 내용을 확인할 수 있습니다. 이 문서와 함께 제공된 샘플에서는 서버와 클라이언트 두 개의 응용 프로그램을 만듭니다. 이는 클라이언트가 서버에서 일부 정보를 요청하고 서버가 데이터베이스에서 일부 특정 정보를 검색하고 검색된 정보를 클라이언트로 다시 보내는 실제 예제입니다. 샘플에 사용된 데이터베이스도 코드와 함께 제공됩니다. 데이터베이스 이름은 Price.mdb입니다.

이 데이터베이스는 두 개의 필드를 포함하는 단일 테이블로 구성된 작은 데이터베이스입니다. 필드는 항목 번호와 가격입니다. 클라이언트는 항목 번호를 서버로 보내고 서버는 데이터베이스에서 해당 항목 번호에 대한 가격을 검색하여 클라이언트로 다시 보냅니다. 오늘날 소프트웨어 개발의 현재 추세 중 하나는 두꺼운 클라이언트와 씬 클라이언트의 문제입니다.