PDA

View Full Version : ایجاد یک سرور و یک کلاینت برای برقراری ارتباط با استفاده از سوکت در vb.net



پرستو پارسایی
پنج شنبه 14 اردیبهشت 1402, 21:40 عصر
Imports System.Net
Imports System.Net.Sockets


Public Class Form1
' تعریف سوکت سرور
Dim serverSocket As New TcpListener(IPAddress.Any, 8080)
' تعریف سوکت کلاینت
Dim clientSocket As TcpClient



Private Sub btnStartServer_Click(sender As Object, e As EventArgs) Handles btnStartServer.Click
' درخواست‌های ورودی
serverSocket.Start()
' پذیرش یک اتصال از یک کلاینت
clientSocket = serverSocket.AcceptTcpClient()
' نمایش پیام "Connected to client" در لیبل وضعیت
lblStatus.Text = "Connected to client"
End Sub



Private Sub btnConnect_Click(sender As Object, e As EventArgs) Handles btnConnect.Click
' ایجاد یک اتصال به سرور
clientSocket = New TcpClient()
clientSocket.Connect("127.0.0.1", 8080)
' نمایش پیام "Connected to server" در لیبل وضعیت
lblStatus.Text = "Connected to server"
End Sub


' "Send"
Private Sub btnSend_Click(sender As Object, e As EventArgs) Handles btnSend.Click
' تبدیل داده به بایت‌ها
Dim data As [Byte]() = System.Text.Encoding.ASCII.GetBytes(txtMessage.Tex t)
' ارسال داده‌ها با استفاده از سوکت
Dim stream As NetworkStream = clientSocket.GetStream()
stream.Write(data, 0, data.Length)
stream.Flush()
' نمایش پیام "Message sent" در لیبل وضعیت
lblStatus.Text = "Message sent"
End Sub


' "Receive"
Private Sub btnReceive_Click(sender As Object, e As EventArgs) Handles btnReceive.Click
' دریافت داده‌ها با استفاده از سوکت
Dim stream As NetworkStream = clientSocket.GetStream()
Dim data As [Byte]() = New [Byte](100) {}
Dim bytes As Int32 = stream.Read(data, 0, data.Length)
Dim responseData As String = System.Text.Encoding.ASCII.GetString(data, 0, bytes)
' نمایش داده‌های دریافتی در لیبل وضعیت
lblStatus.Text = "Message received: " + responseData
End Sub




Private Sub Form1_FormClosed(sender As Object, e As FormClosedEventArgs) Handles MyBase.FormClosed
' قطع اتصال سوکت‌ها
serverSocket.Stop()
clientSocket.Close()
End Sub
End Class