Oke akhirnya kita sudah memutuskan untuk membuat proteksi software dengan menggunakan dongle, tetapi kita masih punya 1 masalah lagi yang harus kita selesaikan yaitu kemudahan dalam mengimplementasikan jenis aktivasi ini.
Rencananya software yang kita buat akan diinstall dibeberapa komputer misal 1 server dengan 10 klien, yang jadi pertanyaan dimanakah donglenya akan dipasang ? Di komputer server ? Komputer klien ? Ganti-gantian ? Atau semua komputer akan dipasang dongle :lol:
Jelas solusi yang terbaik dan tidak akan dibantah klien kita adalah cukup dipasang di komputer server, kalo begitu aplikasi klien harus mempunyai cara untuk mengetahui apakah status dongle di server dipasang/tidak atau donglenya valid/tidak.
Saat ini ada 2 cara yang mungkin bisa kita lakukan :
Status donglenya kita simpan di database, dengan cara ini kita mungkin akan membuat program tambahan yang sifatnya realtime mengecek status dongle kemudian menyimpannya ke database, sehingga hal ini memungkinkan klien mengetahui status terakhir dongle.
Status dongle hanya akan dicek jika ada request dari klien, jelas ini cara yang lebih efektif jadi enggak perlu harus realtime mengecek status dongle dan tentunya hal ini akan lebih menghemat memory.
Baik cara 1 atau 2 tetap mengharuskan kita untuk membuat program tambahan dan karena kita sudah memutuskan untuk menggunakan cara ke 2 otomatis ada sedikit keahlian pemrograman yang harus kita ketahui.
Dan untungnya Anda sudah pernah main-main kesini, sini dan sini tetapi akan lebih MANTEB kalo Anda sudah nyampe kesini dan sini ;-) sehingga untuk membuat aplikasi tambahan tersebut jadi lebih gampang.
- Aplikasi server
Intinya aplikasi ini hanya menerima koneksi masuk, melakukan pengecekan dongle kemudian memberikan balasanke klien (true|false). Data yang masuk divalidasi terlebih dahulu jika bernilai string “reqStatusDongle” baru diproses.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Private Sub Socket_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim ret As Boolean
Dim strData As String
Dim statusDongle As String
On Error GoTo errHandle
‘ Grab the data from the specified Winsock object, and pass it to the parent.
Call Socket(Index).GetData(strData)
DoEvents
'hanya data dengan string 'reqStatusDongle’ yg akan diproses
If strData = “reqStatusDongle” Then
If isValidDongle Then
statusDongle = “true”
Else
statusDongle = “false”
End If
ret = send(Index, statusDongle) ‘kirim status dongle ke klien
End If
Exit Sub
errHandle:
Call Socket(Index).Close
End Sub
Aplikasi server ini akan lebih baik jika dijadikan service dan Anda bisa membaca artikel cara mudah dan gampang membuat aplikasi service dengan VB6, karena dari sekian banyak contoh-contoh membuat service yang beredar di pasaran banyak yang sesat dan menyesatkan. He he he just kidding :)
- Aplikasi klien
Aplikasi klien ditambahkan 1 form khusus untuk merequest status dongle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Private Sub Form_Load()
If startConnect(“127.0.0.1”) Then
‘ingat hanya string 'reqStatusDongle’ yang akan diproses oleh server
If Not send(“reqStatusDongle”) Then
MsgBox “Aplikasi Toekang Cek Doengle belum aktif”, vbExclamation, “Warning”
Unload Me
End If
Else
MsgBox “Aplikasi Toekang Cek Doengle belum aktif”, vbExclamation, “Warning”
Unload Me
End If
End Sub
Private Sub Socket_DataArrival(ByVal bytesTotal As Long)
Dim dataMasuk As String
‘On Error Resume Next
Socket.GetData dataMasuk
If dataMasuk = “true” Then 'dongle sudah terpasang dan valid
MsgBox “dongle valid”
'TODO : tampilkan form utama disini
Else
MsgBox “Maaf dongle belum terpasang, aplikasi tidak bisa dilanjutkan”, vbExclamation, “Peringatan”
End If
Unload Me
End Sub
Oke mungkin itu saja yang bisa saya bahas, sample program bisa didownload disini.
Selamat mencoba :)