Programming Tutorials

Multi Threaded Client Socket Programming in VB.net

By: Issac in VB.net Tutorials on 2009-02-21  

The Multithreaded Socket Programming has two sections.

  • Multithreaded Server Socket Program
  • Multithreaded Client Socket Program

Multi Threaded Client Socket Program is a windows based application. Here the client program is connected to Server's PORT 8888 , and IP Address here we give Server Address as " 127.0.0.1 " , because Server and Client program run on the same machine.

clientSocket.Connect ("127.0.0.1", 8888) 

When the Client gets connected to the Server, the Server makes a separate thread for every one Client's communication. So we can connect more than one client and communicate at the same time.

Create a new VB.NET Windows based application and put the following source code in the Project..

Imports System.Net.Sockets
Imports System.Text
Public Class Form1
    Dim clientSocket As New System.Net.Sockets.TcpClient()
    Dim serverStream As NetworkStream

    Private Sub Button1_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Button1.Click
        Dim serverStream As NetworkStream = clientSocket.GetStream()
        Dim buffSize As Integer
        Dim outStream As Byte() = _
        System.Text.Encoding.ASCII.GetBytes("Message from Client$")
        serverStream.Write(outStream, 0, outStream.Length)
        serverStream.Flush()

        Dim inStream(10024) As Byte
        buffSize = clientSocket.ReceiveBufferSize
        serverStream.Read(inStream, 0, buffSize)
        Dim returndata As String = _
        System.Text.Encoding.ASCII.GetString(inStream)
        msg("Data from Server : " + returndata)
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles MyBase.Load
        msg("Client Started")
        clientSocket.Connect("127.0.0.1", 8888)
        Label1.Text = "Client Socket Program - Server Connected ..."
    End Sub

    Sub msg(ByVal mesg As String)
TextBox1.Text = TextBox1.Text + Environment.NewLine + " >> " + mesg
    End Sub
End Class

You have to run Server program first and then Client program , then only you can communicate with Server and Client each other .





Add Comment

* Required information
1000

Comments

No comments yet. Be the first!

Most Viewed Articles (in VB.net )

Latest Articles (in VB.net)