Let’s write a simple set out of two programs – client and serverapplications, transmitting information and commands through the network using the protocol TCP. We will use network functions through Microsoft WinsockControl.
Visual Basic TCP Client-Server
Server
- from Project select Components
- select Microsoft Winsock Control
- Microsoft Winsock Control added
Now we may use this control. Let’s place it in the field of the form Form1
We write the actions to be performed at the start of Server. During loading the form Form1 we will check whether the connection sckConnected is available and check that the program is not under the listening mode of the prescribed port sckListening.
Private Sub Form_Load() ‘’oflameron - name Winsock Form1.Visible = True ‘’Form1 is visible
Do
If oflameron.State <> sckConnected And oflameron.State <> sckListening Then
oflameron.Close ‘’ All the connections are switched off
oflameron.Listen ‘’Listen port
End If
DoEvents
Loop
End Sub
You may choose the number of port yourself. The ports range from 1 up to 65535. However, some ports are reserved for some standard services. It is recommended to choose the number of a port unused by mail or telnet.
One may indicate the number of a port in a program using several manners:
- select port 125, select Protocol 0-TCP
Let’s write the procedure of handling a request for connection.
Private Sub oflameron_ConnectionRequest(ByVal requestID As Long) oflameron.Close ‘’Listen close
oflameron.Accept requestID ‘’ Let’s tap a Client with the number of his request
End Sub
Now Let’s write the handler of requests received from the clients. We place Text1 in the field of the form TextBox. On TextBox we will write the incoming commands (text commands)
Private Sub oflameron_DataArrival(ByVal bytesTotal As Long) Dim Data As String
oflameron.GetData Data
Text1.Text = Data
If Data = "END" Then End
If Data = "NOTEPAD" Then Shell ("notepad.exe")
End Sub
It is sufficient for a simplest server part. Now one shall compile the project, for example, in the file Server.exe
Client
Let’s create a new EXE project. In the field of the form we place the text fields IP and Port. In the field IP there will be the IP address of the computer (one may start up the both parts on one computer), where the server part (that was developed above) is started up. Right away in the field Port one may set the number of the port which “listens” to the server application.
Let’s place the buttons and Winsock Control in the field of the form
Buttons:
Connect - Command1 CommandButton – connect to Server
Disconnect - Command2 CommandButton – Server disconnect
Send Message - Command3 CommandButton – send message to Server in Text1.Text
Load Notepad - Command4 CommandButton – load Notepad.exe on Server
Close Server - Command5 CommandButton – Close Server.exe
Let’s determine IP-address of the computer where the client part is started up. It is more probably that you will write and debug the programs on one computer, therefore the working IP-addresses of the server and client parts will coincide. If the Server and a client are on the different computers connected to the network, one need to enter the IP of computer in the client part where the server is located.
You may find out the IP-address of computer by using the command ipconfig –all
Let’s write the procedure of determining the IP-address of the computer
Private Sub Form_Load() IP.Text = wsock.LocalIP
End Sub
Let’s will write the procedures for buttons
Connect - Command1 CommandButton – connect to Server
Private Sub Command1_Click()- START YOUR WORK BY PRESSING IT!!!! wsock.Close ‘’Connections close
wsock.RemoteHost = IP ‘’IP-address of Server
wsock.RemotePort = Port ‘’The number of the port is set in Port.Text (TextBox) - 125
wsock.Connect ‘’Set connection
End Sub
Disconnect – Command2 CommandButton – Server disconnect
Private Sub Command2_Click() wsock.Close ''Close connection
End Sub
Send Message – Command3 CommandButton – To send a message to the Server in Text1.Text
Private Sub Command3_Click() If wsock.State <> sckConnected Then Exit Sub
wsock.SendData
End Sub
Load Notepad – Command4 CommandButton – load Notepad.exe on Server
Private Sub Command4_Click() If wsock.State <> sckConnected Then Exit Sub
wsock.SendData "NOTEPAD"
End Sub
Close Server – Command5 CommandButton – Server.exe close
Private Sub Command5_Click() If wsock.State <> sckConnected Then Exit
wsock.SendData "END"
End Sub
It is sufficient for a simplest client part. Now one shall compile the project, for example, in the file Client.exe
The full VB-projects of the server and client parts are in the filevbnetv.zip
Free Visual Basic and Winsock ebook. Free ebook - TCP client - server
Free Tutorials - Archive of free ebooks for beginners programmers on Visual Basic, Delphi, Java, VBA, PHP, HTML All the tutorials contain the necessary illustrations, step-by-step description of programming process, full listings of programs, and examples of codes for each stage of development. Some tutorials have been developed for programmers in VB, Delphi and Java simultaneously, they are absolutely identical. It allows easy beginning the studying of other programming languages.
If our tutorials are useful for you, place any tutorials on your web-site for free download, please. It is allowed using tutorials for training, for work, for publications, for creating web-pages etc. It is allowed including tutorials in mailing lists, archives of programs, periodicals (on CD, DVD and other data carriers). The sole requirement is indication of the author’s copyright - (c) by Valery V Shmeleff (Oflameron) www.oflameron.com.
Periodically new tutorials are developed and placed on the site for free download.
We may place references to your site in our tutorials. For this purpose place the following code of our reference on your web-site <a href=http://www.oflameron.com title="Free tutorials"><b>Free tutorials</b></a> and send us the address of the page to mail:cardclub@mail.ru ( Subject: www.oflameron.com )