TCP 프로토콜을 사용할 때 클라이언트 애플리케이션을 생성해야 하는 경우 서버의 이름이나 IP 주소를 식별해야 합니다. 애플리케이션의 통신 포트는 언제든지 상대방이 보낸 메시지를 주의 깊게 모니터링하므로 시스템의 안정적인 연결이 보장됩니다. 연결이 이루어지면 어느 쪽이든 SendData를 통해 데이터를 주고받을 수 있으며 GetData를 통해 자신의 데이터를 분리할 수 있습니다. 데이터를 전송할 때 먼저 클라이언트의 LocalPort 속성을 설정해야 합니다. 서버는 RemoteHost 속성을 클라이언트의 이더넷 주소로 설정하고 클라이언트의 LocalPort 속성과 동일한 포트 주소를 설정한 다음 SendData 메서드를 사용하여 메시지 보내기를 시작하면 됩니다. 클라이언트는 GetData 이벤트의 DataArrival 이벤트를 통해 전송된 정보를 분리합니다. Winsock 컨트롤을 사용하면 UDP 또는 TCP 프로토콜을 사용하여 로컬 컴퓨터가 원격 컴퓨터에 연결할 수 있습니다. 두 프로토콜 모두 클라이언트 및 서버 응용 프로그램을 만들 수 있습니다.
Winsock 컨트롤을 사용할 때 양쪽 통신 당사자는 동일한 프로토콜을 선택해야 합니다. TCP 프로토콜은 보안 보장이 필요한 대용량 데이터 파일을 전송하는 데 적합하고, UDP 프로토콜은 여러 부하 직원과 별도로 통신해야 하는 상황이나 특히 네트워크 연결이 많은 경우 시간에 따라 변하는 연결이 많은 상황에 적합합니다. 데이터의 양이 적습니다. 설정 시 Winsock1.PROtocol=sckTCPProtocol 메서드를 사용할 수 있습니다. 먼저 컴퓨터 이름을 찾아 Winsock의 LocalHost 속성에 추가합니다.
애플리케이션을 생성할 때 클라이언트 애플리케이션을 구축하는 것인지 서버 서비스를 구축하는 것인지 먼저 결정해야 합니다. 구축된 서버 애플리케이션이 작동을 시작하고 리스닝 상태에 진입해야만 클라이언트 애플리케이션이 연결을 설정하고 정상적인 통신 상태로 진입합니다. . 저자는 클라이언트의 마우스가 움직일 때 서버 애플리케이션이 마우스의 위치를 실시간으로 표시할 수 있는 기능을 갖춘 애플리케이션을 만들었습니다.
서버 애플리케이션을 구축하는 방법은 다음과 같습니다.
1. 새로운 표준 EXE 파일을 생성합니다.
2. Winsock 컨트롤을 추가합니다.
3. 다음 코드를 추가합니다.
PrivateSubFormLoad()
tcpServer.LocalPort=1001
tcpServer.Localhost=서버
tcpServer.remotePort=1002
tcpServer.Localhost=클린트
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. 다음 코드를 추가합니다.
PrivateSubFormLoad()
tcpServer.LocalPort=1002
tcpServer.Localhost=클린트
tcpServer.remotePort=1001
tcpServer.Localhost=서버
tcpServer.Listen
EndSub
'연결 확인
PrivateSubtcpklintConnectionRequest
(ByValrequestIDAsLong)
Iftcpklint.State<>sckClosedThen
tcpklint.Close
tcpklint.AcceptrequestID
EndSub
데이터를 수신하다
PrivateSubtcpClientData도착
(ByValbytesTotalAsLong)
DimstrDataAsString
tcpklint.GetDatastrData
ifleft(strData,1)=Xthen
txtx.Text=strData
또 다른
txty.Text=strData
엔디프
EndSub
위의 루틴은 이를 기반으로 약간의 수정을 통해 매우 간단한 지점 간 통신을 구현하며 제어, 그래픽 시뮬레이션 등을 위해 기능적으로 복잡한 실시간 컴퓨터 네트워크 AA 대화형 통신 시스템을 구성할 수 있습니다. VB의 Winsock은 간단한 데이터 전송 방법을 제공하므로 지점 간 네트워크 통신을 쉽게 달성할 수 있습니다.
->