Free tutorials © by Valery V Shmeleff www.oflameron.comSimple system Client-Server in VB Programming Client + Server with TCP on Visual Basic Let’s write a simple set out of two programs
Trang 1Free tutorials © by Valery V Shmeleff www.oflameron.com
Simple system Client-Server in VB
Programming Client + Server (with TCP) on Visual Basic
Let’s write a simple set out of two programs – server and application, transmitting information and commands
through the network using the protocol TCP We will use network functions through Microsoft Winsock Control.
Server
New VB project as Standard EXE and add Microsoft Winsock Control
- from Project select Components
- select Microsoft Winsock Control
Trang 2- 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 '’ Is the connection available or do we listen to the port?
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:
Trang 3Free tutorials © by Valery V Shmeleff www.oflameron.com
- 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)‘’Request for connection
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 ‘’Variable Data
oflameron.GetData Data ‘’ It will contain the received data
Text1.Text = Data
If Data = "END" Then End ‘’If the text command END is received, you shall finish the work of server
If Data = "NOTEPAD" Then Shell ("notepad.exe") ‘’To start up the application Notepad on the side of the server
End Sub
It is sufficient for a simplest serverpart Now one shall compile the project, for example, in the file Server.exe
Trang 4
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:
Trang 5Free tutorials © by Valery V Shmeleff www.oflameron.com
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() ‘’|Connect| button - 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() ‘’|Disconnect| button
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 '' To check the connection If the connection is available, to send a message
wsock.SendData "Web site http://www.oflameron.com"
End Sub
- Load Notepad – Command4 CommandButton – load Notepad.exe on Server
Private Sub Command4_Click()
If wsock.State <> sckConnected Then Exit Sub '' To check the connection
wsock.SendData "NOTEPAD" ‘’Load Notepad on Server
End Sub
- Close Server – Command5 CommandButton – Server.exe close
Private Sub Command5_Click()
If wsock.State <> sckConnected Then Exit '' To check the connection
wsock.SendData "END" ‘’Sent TEXT command on Server
End Sub
It is sufficient for a simplest clientpart 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 file vbnetv.zip
Trang 6Valery V Shmeleff (Oflameron)
Simple proxy applications on Visual Basic – in next path of tutorial – in near time.
If our tutorials are useful for you, place any tutorials on your web-site for free download, please.
Oflameron.com
Simple system Client-Server in VB
Programming Client + Server (with TCP) on Visual Basic
http://geocities.com/oflameron/ - free tutorial on Visual Basic
http://geocities.com/aboutsoft/ - absolutely identical tutorial on Java
http://delphi.oflameron.com - absolutely identical tutorial on Delphi
http://builder.oflameron.ru – free tutorial on Visual Basic (programming for MS Word)
http://tcp.oflameron.com – simple Client-Server system