Download ServerForm.zip - 192.9 KB
Download ClientForm.zip - 196.7 KB


Introduction
Simple Chatting Application Using Socket Programming in VB.Net . This Application use TCP Protocol for Communication. So it is Connection Oriented and reliable Service.........
Background
Mainly Background is Socket Programming in VB.NET which use System.Net.Sockets NameSpace...
Client Socket::: TcpClient Class
Server Socket:: TcpListner Class
Socket is Combination of IP_Address and PortNo.. When we create Socket we have to give IP , Port No and Protocol..
Here DotNet give TcpClient Class which is by default use TCP Protocol.. we have to just provide IP And PortNo..
Same way For TcpListner Class also...............
Using the code
Connect Sub Will send Connection Request to server on given ip
after Connection Receive function is started using thread.. because receive function will go in infinite loop so we have to start receive funtion using Thread.otherwise your mainProcess will goes in infinite loop..
Try
ipHostinfo = Dns.Resolve(Txtserver.Text)
ipAdd = ipHostinfo.AddressList(0)
remoteEP = New IPEndPoint(ipAdd, 11000)
sender.Connect(remoteEP)
th = New System.Threading.Thread(AddressOf Receive)
th.Start()
i = 1
MessageBox.Show("Client Connected With Server->" + Txtserver.Text)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
if we use Multi threading architecture we get 1 main Problem Called: Cross Thread Problem
Solve this problem using Delegate Funtion..Here is Solution
If Me.List.InvokeRequired Then
Dim d As New SetDisplay(AddressOf Proccessdata)
Me.Invoke(d, New Object() {str})
Else
Me.List.Items.Add(str)
Public Sub Receive()
Dim bytes(100000) As Byte
Dim bytesRec As Integer
A: While True
bytes = New Byte(100000) {}
bytesRec = sender.Receive(bytes)
If bytesRec > 0 Then
Data = Encoding.ASCII.GetString(bytes, 0, bytesRec)
Exit While
End If
End While
'List.Items.Add(Data)
'MessageBox.Show(Data)
Proccessdata(Data)
ActionData(Data)
GoTo A
End Sub
Try
msg = Encoding.ASCII.GetBytes(Txtmsg.Text)
Me.sender.Send(msg)
Txtmsg.Text = ""
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Points of Interest

This is part of Client Screen.. one intresting point that we can control server Cd Drive From Client Form...
You can Open Notepad , PainBrush ,Calculator On server Machine From Client Screen....
You Can Lock and Release Mouse of Client Pc From the Server....
You Can ShutDown and Restart client Computer From the Server.....
You Can Capture the Photo of Client Screen From the Server......
History
Keep a running update of any changes or improvements you've
made here.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.