Minggu, 03 Juni 2012

tcp ip menggunakan VB

TCP/IP (Transmission Control Protocol/Internet Protocol)
adalah sekelompok protokol yang mengatur komunikasi data komputer di internet. Komputer-komputer yang terhubung ke internet berkomunikasi dengan protokol TCP/IP, karena menggunakan bahasa yang sama perbedaan jenis komputer dan sistem operasi tidak menjadi masalah. Komputer PC dengan sistem operasi Windows dapat berkomunikasi dengan komputer Macintosh atau dengan Sun SPARC yang menjalankan solaris. Jadi, jika sebuah komputer menggunakan protokol TCP/IP dan terhubung langsung ke internet, maka komputer tersebut dapat berhubungan dengan komputer di belahan dunia mana pun yang juga terhubung ke internet.
Membuat interfacing TCP/IP pada Visual Basic 6.0 dapat menggunakan component Winsock Control 6.0. Fungsi dari Winsock Control mempermudah kita sebagai programer untuk membuat software yang bisa berkomunikasi dengan komputer lain. Dengan Winsock Control maka kita tidak perlu mengetahui secara detail protokol TCP/IP maupun pemanggilan fungsi Winsock API untuk membuat sebuah aplikasi network. Yang perlu kita lakukan hanyalah mengisi nilai properti, mengeksekusi metode, dan semuanya segera berjalan sesuai skenario (dengan catatan, semua seting network dalam kondisi baik).
Komponen Winsock mempunyai 2 jenis protokol:
a)      TCP – Transmission Control Protocol. Dengan TCP mengharuskan 2 atau lebih komputer yang terhubungan untuk mengirim/menerima data harus dalam kondisi terkoneksi. Jadi dengan menggunakan TCP sangat aman karena data akan selalu dicek sampai atau tidak.
b)      UDP – User Datagram Protocol. Dengan UDP tidak mengharuskan adanya koneksi yang aktif, hanya saja tidak ada jaminan data yang dikirim sampai atau tidak.
Contoh aplikasi menggunakan Winsock adalah aplikasi chat sederhana.
  1. Buka Visual Basic 6 pada PC atau laptop lalu klik standard project
  2.  Tekan CTRL + T akan muncul gambar dibawah ini dan checklist pada microsoft winsock control 6.0.
Gambar 1

3.      Klik OK lalu buat pada Project1 form1 seperti berikut sebagai server
gambar form server






4.      Setelah itu buat Form sebagai Client seperti pada gambar dibawah ini.
Kemudian ketikkan listing program dibawah ini untuk Client.
Option Explicit
Private Sub Form_Load()
'set up the Winsock1 to connect to the local computer
Winsock1.RemoteHost = "127.0.0.1"
Winsock1.RemotePort = 11111
Winsock1.Connect
End Sub
Private Sub cmdSend_Click()
'send the data thats in the text box and
'clear it to prepare for the next chat message
Winsock1.SendData txtChat.Text
 DoEvents
 txtMain.Text = txtMain.Text & vbCrLf & txtChat.Text
 txtChat.Text = ""
End Sub
Private Sub Winsock1_Connect()
 'we are connected!
 MsgBox "Connected"
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
 Dim strData As String
' get the data from the socket
 Winsock1.GetData strData
 ' display it in the textbox
 txtMain.Text = txtMain.Text & vbCrLf & strData
 ' scroll the box down
 txtMain.SelStart = Len(txtMain.Text)
End Sub

Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
 ' an error has occured somewhere, so let the user know
 MsgBox "Error: " & Description
 ' close the socket, ready to go again
 Winsock1.Close
End Sub

Dan listing program dibawah ini untuk Server.
Option Explicit
Private Sub cmdSend_Click()
 Winsock1.SendData txtChat.Text
 DoEvents
 txtMain.Text = txtMain.Text & vbCrLf & txtChat.Text
 txtChat.Text = ""
End Sub
Private Sub Form_Load()
 Winsock1.LocalPort = 11111
 Winsock1.Listen
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
 'reset the socket, and accept the new connection
 Winsock1.Close
 Winsock1.Accept requestID
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
 Dim strData As String
 'get the data and display it in the textbox
 Winsock1.GetData strData
 txtMain.Text = txtMain.Text & vbCrLf & strData
 txtMain.SelStart = Len(txtMain.Text)
End Sub