TCP プロトコルを使用する場合、クライアント アプリケーションを作成する必要がある場合は、サーバーの名前または IP アドレスを特定する必要があります。アプリケーションの通信ポートは、相手から送信されるメッセージを常に注意深く監視するため、システムの信頼性の高い接続が保証されます。接続が確立されると、どちらの当事者も SendData を通じてデータを送受信し、GetData を通じて自分のデータを分離できます。データを送信するときは、最初にクライアントの LocalPort 属性を設定する必要があります。サーバーは、RemoteHost 属性をクライアントの Ethernet アドレスに設定し、同じポート アドレスをクライアントの 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=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. 2 つのテキスト ボックス (txtx と txty) を追加します。
4. 次のコードを追加します。
PrivateSubFormLoad()
tcpServer.LocalPort=1002
tcpServer.Localhost=klint
tcpServer.remotePort=1001
tcpServer.Localhost=サーバー
tcpServer.Listen
EndSub
'接続チェック
PrivateSubtcpklintConnectionRequest
(ValrequestIDAsLong による)
Iftcpklint.State<>sckClosedThen
tcpklint.Close
tcpklint.AcceptrequestID
EndSub
データを受信する
PrivateSubtcpClientDataArrival
(ByValbytesTotalAsLong)
DimstrDataAsString
tcpklint.GetDatastrData
ifleft(strData,1)=Xthen
txtx.Text=strData
それ以外
txty.Text=strData
エンドイフ
EndSub
上記のルーチンは非常に単純なポイントツーポイント通信を実装しており、これにわずかな変更を加えることで、制御やグラフィックス シミュレーションなどのために機能的に複雑なリアルタイム コンピュータ ネットワーク AA インタラクティブ通信システムを構築できます。 VB の Winsock はシンプルなデータ送信方法を提供し、ポイントツーポイントのネットワーク通信を簡単に実現できます。
->