Client

'*********************************************
'Ilk once Formuzu olusturuyoruz ve uzerine
'1 TextBox, 2 Button, 1 label ve 1'de Winsock
'koyuyoruz. Daha sonra uzerine tiklayarak
'asagidaki gibi Kodlari giriyoruz...
'*********************************************

'Baglantiyi Kuracak olan Buttonumuzun kodlarini
'burda giriyoruz...
Private Sub Command1_Click()
'ikinci bir tiklamada Server ile baglantimizin
'kesilmesini sagliyoruz.
Winsock1.Close
'Burda Text1'e girilen IP nin belirttigimiz
'Port Numarasina baglanmasini deniyoruz...
'Ben burda Port numarasini 1982 diye koydum
'siz kafaniza gore istediginizi koyabilirsiniz.
Winsock1.Connect Text1.Text, 1982
End Sub

'Burda Not Defterimiz'i calistiracak olan
'Buttonun kodlarini giriyoruz....
Private Sub Command2_Click()
'Calistir'i basta bi String ifade olarak
'tanimliyoruz.
Dim Calistir As String
've Calistir'in Serverda neye karsilik
'gelecegini belirtiyoruz...
Calistir = "NotDefteri"
'Daha sonra Calistiri bir veri seklinde
'Servera yolluyoruz. Eger server'a bagliysak
'server bu yolladigimiz veriye cevap verecektir.
Winsock1.SendData Calistir
End Sub
'Server'i kapatacagimiz Buttonun kodlarini
'giriyoruz...
Private Sub Command3_Click()
'Deminki gibi bir tanimlama yapiyoruz
'Bu sefer BaglantiKes diye bi tanimlama
'yapiyoruz, buda String tabiki...
Dim BaglantiKes As String
'BaglantiKes'in Server da neye karsilik
'geldigini belirtiyoruz.
BaglantiKes = "ServeriKapat"
'BaglantiKesi Server'a yolluyoruz...
Winsock1.SendData BaglantiKes
'Eger Server bu yolladigimiz veriye
'cevap verirse bunu bize bildirmesini
'istiyoruz ve baglantinin kesildigini
'Label1'e yazdiriyoruz.
Label1.Caption = "Baglanti Kesildi."
'Ben burda Formumuzun basligini da degistirip
'eski hali olan Client yapiyorum.
Me.Caption = "Client"
End Sub

'Client'imizin Server'a baglandigi an...
Private Sub Winsock1_Connect()
'Bunlar size gereksiz gelebilir ama titiz
'davranmak gerek. Ben Server'a baglandigimizda
'kolayca anlasilsin diye Label1'i Baglanti
'Kuruldu diye degistiriyorum...
Label1.Caption = "Server 'a Baglanti Kuruldu."
've tabi Formumuzun Basliginida Server'a
'baglandimiz anlasilacak sekilde degistiriyorum.
Me.Caption = "Client Server"
End Sub

Server

'************************************************
'Ilk olarak basit bir Form olusturuyoruz.
'Daha sonra Formumuza bir Winsock ekliyoruz.
'Ve uzerine tiklayip Kod Penceresinde asagidaki
'Kodlari giriyoruz...
'************************************************

'Server calistirildiginda yapacaklarini
'burda giriyoruz...
Private Sub Form_Load()
'Client'de girdigimiz Port numarasini
'burda tanimliyip dinlemeye aliyoruz.
Winsock1.LocalPort = 1982
Winsock1.Listen
'Server Kabak gibi masaustune acilmasin
'diye Calistirildiginda arka Planda
'calismasini sagliyoruz.
Me.Hide
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
'istedigimizde biz Soketlerimizi bile kapariz. :-)
Winsock1.Close
Winsock1.Accept requestID
End Sub
'iste veri alisverisini burda yapacaz...
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
'Burda istedigimiz herseyi yapmasini
'soyluyoruz :-)
DoEvents
'Burda Client'tede yaptigimiz gibi
'gonderilen verileri almamiz icin bi
'string ifade tanimliyoruz...
Dim Yollanan As String
'Winsock1'i gonderilen verileri almasi
'icin cagiriyoruz.
Call Winsock1.GetData(Yollanan$, vbString)
DoEvents
'Client'te tanimladigimiz BaglantiKes'in
'burda ServeriKapata karsilik geldigini
'anliyoruz ve ServeriKapat'i da Yollanan
'olarak yani bir String olarak tanimliyoruz.
If Yollanan = "ServeriKapat" Then
'Client Server'a kapanacaksin dediginde
'Server Formumuzun kendisini kapatmasini
'istiyoruz, boylelikle Dinlenmekte olan
'1982'inci portumuzuda dinemeden aliyoruz...
Unload Me
'Evet Burda da Client'te Calistir'in karsiligi
'olan NotDefterimiz'in Serverda ki karsiligi
'olan Yollanan olarak tanimliyoruz.
ElseIf Yollanan = "NotDefteri" Then
'Ve eger Client bize Calistir diye bi veri
'yollarsa Server onun kendinde ki karsiligini
'bulup belirtilen gorevinin yapilmasini sagliyor.
'Not Defterini calistirmak icin Shell komutunu
'kullaniyoruz. Ben Win2k kullandigimdan Not Defterinin
'dizinini WinNT olarak belirttim siz Windows olarak
'degistirebilirsiniz...
Shell "C:\WINNT\NOTEPAD.EXE"
End If
've son olarak acilan degerleri kapatiyoruz...
End Sub
__________________