Selamat Datang di Kang Bahor.blogspot.com

Chatting
17.47 | Author: Kang Bahor's
Chatting
- by : kangbahor.blogspot.com


Persiapan <--

Tentu saja kalian pernah chatting kan? entah menggunakan mirc, ym, plasa, dll. Terpikirkah di benak kalian bagaimana cara membuatnya? (he he he... sok puitis banget ngomongnya). Ternyata konsep yang digunakan sederhana lohh. Kira-kira gini algoritmanya: Tugas server hanya menunggu datangnya koneksi dari klien. Begitu ada user yang masuk, server langsung merespon dan menyediakan tempat untuknya. Kemudian akan server menunggu user baru lagi hingga batas yang telah ditentukan. Ini semua menggunakan winsock loohh... Ok dech, langsung aja yach... tapi maaf yanh lagi males gambar jadi gk da gambar nya deh.....

Sekarang jalankan vb kamu dan gunakan standard.exe

Klik project=>components dan cek Microsoft Winsock Control 6.0. Kalo sudah tambahkan satu form lagi dan tambah kan textbox, label, command button dan winsock seperti gambar dibawah ini:

Jangan lupa pastikan protokol yang digunakan winsock adalah TCP

Sekarang tinggal nulis programnya, untuk yang pertama buat server dulu ya


Kode Program 1 <--

Tulis program dibawah ini (sebaiknya ditulis jangan di copy+paste, akan lebih baik hasilnya):
------------------dari sini, tapi garis ini jangan ikut lohh...------------------

1: Private Sub Command1_Click()
2: 'Menutup winsock
3: Winsock1.Close
4: End
5: End Sub
6:
7: Private Sub Form_Load()
8: 'Menset port yang digunakan, sebaiknya digunakan
port >1300
9: Winsock1.LocalPort = 1300
10: 'Perintah ini membuat program ini menjadi server
untuk menunggu koneksi dari klien
11: Winsock1.Listen
12: 'Memunculkan Form klien
13: Form2.Show
14: End Sub
15:
16: Private Sub Winsock1_ConnectionRequest(ByVal
requestID As Long)
17: 'Cek apakah winsock ditutup atau tidak jika tidak
maka akan ditutup
18: If Winsock1.State <> sckClosed Then
19: Winsock1.Close
20: End If
21: 'Menerima request dari klien
22: Winsock1.Accept requestID
23: End Sub
24:
25: Private Sub Winsock1_DataArrival(ByVal bytesTotal
As Long)
26: Dim str As String
27: 'Menerima data yang diterima dan ditampung
di variabel str
28: Winsock1.GetData str
29: 'Mengosongkan text2 (data yang diterima)
30: text2.Text = ""
31: 'Menampilkan data yang diterima di text2
32: text2.Text = str
33: End Sub
34:
35: Private Sub Text1_KeyPress(KeyAscii As Integer)
36: On Error GoTo keluar
37: 'Jika user menekan enter, data akan dikirim
38: If KeyAscii = 13 Then
39: 'Data yang tertulis ditext dikirim
40: Winsock1.SendData txtKirim.Text
41: Text1.Text = ""
42: Text1.SetFocus
43: End If
44: keluar:
45: Exit Sub
46: End Sub

------------------yup sampai disini------------------

Cape juga nulisnya yach... Tapi kalo kalian nulis sendiri (gak copy+paste) pasti ngerti maksud program ini, jadi gak usah dijelasin yah...



Kode Program 2 <--

Sekarang tinggal nulis program buat Client Saja. Program yang dituliskan sama dengan server. Hanya pada baris 16-23 tidak perlu ditulis. Selain itu pada Form load ada sedikit perubahan karena dia klien, perhatikan:
------------------dari sini, ingat garis ini jangan ikut lohh...-----------------

1: Private Sub Form_Load()
2: 'Port yang digunakan harus sama dengan yang
di server
3: Winsock1.RemotePort = 1300
4: 'IP Address/namanya harus sama dengan yang
di server
5: sckClient.RemoteHost = "127.0.0.1"
6: 'yang ini untuk ngecek doank
7: If sckClient.State <> sckClosed Then
8: sckClient.Close
9: End If
10: 'Ini biar terhubung dengan server
11: sckClient.Connect
12:
13: End Sub

------------------oooppp.... sampai disini aja------------------

kelar juga buatnya... sekarang tinggal ngejalaninnya nich (pencet F5)... tapi jangan lupa save dulu :). Gimana hasilnya? lumayan kan? ini hanya dasar dari penggunaan winsock untuk chatting loohh... Banyak sekali kegunaan yang lain.

Naaahhh... kan udah dikasih tau sourcenya, sekarang gua punya tugas buat kalian:

1. Kan itu menggunakan 2 Form, gimana jika ingin menggunakan satu Form? Caranya gampang gunakan 2 winsock, tapi coba buat kalo bisa
2. Coba kunjungin di sini di sana ada program chatting yang bagus (sudah mendekati net meeting)
3. Kalo kalian chatting dengan mirc kan bisa ngobrol berdua doank (bukan di channel), coba buat programmnya :p
4. O iya, lupa nih. Karena program ini hanya menerima satu klien, jadi gak seru. Buat server biar bisa nerima banyak klien. Gunakan array.
|
This entry was posted on 17.47 and is filed under . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.