UdpClient クラスを学習することをお勧めします。これは初心者に適したオプションです。
最初に、 2 つのクライアントを「セットアップ」することから始めます。1 つはデータを送信し、もう 1 つは着信データをリッスンします。クライアントに適切なアドレスとポート番号を割り当てたら、リッスンしているクライアントをループで開始して、一貫してデータをリッスンできるようにします。
次に、送信クライアントを何らかの形式のトリガーに「接続」して (以下に示す例では、送信クライアントをボタン イベントに設定しました)、不規則な間隔でデータを送信したり、クライアントをループに設定して、継続的にデータを送信します。
それが完了したら、送信するデータを文字列からバイト配列に変換する必要があります。その後、最終的にそれを送信できます。逆に、データを受信する場合も同様です (バイト配列から文字列へ)。
簡単な例を次に示します。
Imports System.Net.Sockets
Imports System.Threading
Imports System.Text
Imports System.Net
Public Class Form1
Private Const port As Integer = 9653 'Or whatever port number you want to use
Private Const broadcastAddress As String = "255.255.255.255"
Private receivingClient As UdpClient
Private sendingClient As UdpClient
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
InitializeSender()
InitializeReceiver()
End Sub
Private Sub InitializeSender()
sendingClient = New UdpClient(broadcastAddress, port) 'Use broadcastAddress for sending data locally (on LAN), otherwise you'll need the public (or global) IP address of the machine that you want to send your data to
sendingClient.EnableBroadcast = True
End Sub
Private Sub InitializeReceiver()
receivingClient = New UdpClient(port)
ThreadPool.QueueUserWorkItem(AddressOf Receiver) 'Start listener on another thread
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim stringToSend As String = TextBox1.Text 'Assuming you have a textbox with the data you want to send
If (Not String.IsNullOrEmpty(stringToSend)) Then
Dim data() As Byte = Encoding.ASCII.GetBytes(stringToSend)
sendingClient.Send(data, data.Length)
End If
End Sub
Private Sub Receiver()
Dim endPoint As IPEndPoint = New IPEndPoint(IPAddress.Any, port) 'Listen for incoming data from any IP on the specified port
Do While True 'Notice that i've setup an infinite loop to continually listen for incoming data
Dim data() As Byte
data = receivingClient.Receive(endPoint)
Dim message As String = Encoding.ASCII.GetString(data) 'Recived data as string
Loop
End Sub
End Class
次に、利用可能なゲームのリスト ボックスを追加します。
簡単に言えば、サーバーがない限り、非常に難しいことです。
より長い答えは、サーバーが必要です。サーバーがあると仮定すると、サーバーに送信されるデータを処理し、他のユーザーにデータを送信するための追加のプログラムを作成する必要があります。
追加プログラムのセットアップ方法などについて説明することもできますが、ネットワーク プログラミングのスキルがまだ「翼を広げている」と判断した場合は、もう少し経験を積むまで、このような高度な機能を除外することをお勧めします。 、自信がついたら、自分で試してみてください。それでもまだ苦労している場合は、ここに質問を投げてください。