2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul...

21
Andrew fiade pemrograman jaringan – [email protected] halaman 1 MODUL 2 IP ADDRESS SOCKET ISI HALAMAN INI Pendahulan ........................................................................................................................... 2 Mengetahui Domain ............................................................................................................. 2 IP End Point ........................................................................................................................... 4 Mendeteksi IP Address .......................................................................................................... 5 Mencek Apakah Komputer terhubung dengan Internet ....................................................... 7 URL Address .......................................................................................................................... 9 Ipv6 ..................................................................................................................................... 12 Instalasi ........................................................................................................................... 12 Pengujian IPV6 ................................................................................................................ 12 Aktifkan Ipv6 Framework ................................................................................................ 15 Pemrograman VB.NET ..................................................................................................... 16 Ipversi 6 Client ................................................................................................................ 19

Transcript of 2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul...

Page 1: 2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul ini akan dijelaskan pula set IP versi 6. Tampilan pada desain dapat anda lihat pada

Andrew fiade pemrograman jaringan – [email protected] halaman 1

MODUL 2

IP ADDRESS

SOCKET

ISI HALAMAN INI

Pendahulan ........................................................................................................................... 2

Mengetahui Domain ............................................................................................................. 2

IP End Point ........................................................................................................................... 4

Mendeteksi IP Address .......................................................................................................... 5

Mencek Apakah Komputer terhubung dengan Internet ....................................................... 7

URL Address .......................................................................................................................... 9

Ipv6 ..................................................................................................................................... 12

Instalasi ........................................................................................................................... 12

Pengujian IPV6 ................................................................................................................ 12

Aktifkan Ipv6 Framework ................................................................................................ 15

Pemrograman VB.NET ..................................................................................................... 16

Ipversi 6 Client ................................................................................................................ 19

Page 2: 2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul ini akan dijelaskan pula set IP versi 6. Tampilan pada desain dapat anda lihat pada

Andrew fiade pemrograman jaringan – [email protected] halaman 2

PENDAHULAN

• Memahami bagaimana cara mendapatkan IP Address di komputer yang sedang

digunakan untuk ditampilkan diaplikasi. Bermanfaat ketika kita ingin membuat

aplikasi server, dengan tahap awal mendeteksi IP yang digunakan sehingga kita tidak

selalu menggunakan alamat localhost atau 127.0.0.1 untuk initial IP Address.

• Mendapatkan informasi versi IP yang digunakan (IP versi 4 atau IP Versi 6), alamat

nama domain dengan mengetahui terlebih dahulu alamat IP, mengetahu port yang

aktif dan informasi penting lainnya dalam penggunaan IP untuk aplikasi socket.

• Mengetahui alamat IP terlebih dahulu selanjutnya ingin diketahui alamat domain.

Mengetahui alamat fisikal kartu jaringan. Ilustrasi domain yang umum kita ketahui

yaitu facebook.com, fst.uinjkt.ac.id/andrew dan lainnya.

• Apakah komputer kita dapat terhubung dengan jaringan (internet) yang ditampilkan

dalam aplikasi .

• Memahami dan menerapkan Ipv6 dengan tahapan cara instalasi Ipv6 dan

mengaktikan dalam program aplikasi dengan protokol tcp server ipv6 dan tcp client

ipv6 client.

MENGETAHUI DOMAIN

Percobaan aplikasi pertama yang dilakukan, yaitu kita mengetahui nama IP Address tapi kita

tidak mengetahui nama domain. Bahasa pemrograman yang digunakan dari awal bab

sampai akhir bab yaitu VB,NET, kita dapat gunakan VB.NET 2005, VB.NET 2008 dan VB.NET

2010 yang sudah diuji dan dapat diterapkan. Untuk form desain dapat anda lihat pada

gambar, gambar tersebut menunjukan pula hasil dari program yang dijalankan.

Properti yang digunakan yaitu:

• Textbox

• Button

• Listbox

Dalam modul ini yang akan dipelajari yaitu:

Page 3: 2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul ini akan dijelaskan pula set IP versi 6. Tampilan pada desain dapat anda lihat pada

Andrew fiade pemrograman jaringan – [email protected] halaman 3

Library yang digunakan untuk pengenalan IP Address dan pemrograman socket pada

khususnya pada VB.Net yaitu:

• Imports System

• Imports System.Data

• Imports System.Net

• Imports System.Net.Sockets

Proses yang dilakukan ketikan user menginput sebuah alamat IP dan klik pada button, maka

akan ditampilkan di list box. Kode program dapat dilihat pada kode program dapatkan

domain.

Kode Program Dapatkan Domain

Imports System

Imports System.Data

Imports System.Net

Imports System.Net.Sockets

Public Class Form2

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles Button1.Click

Dim CpIP As IPHostEntry

Dim a As String

CpIP = Dns.GetHostByAddress(TextBox1.Text)

a = "IP :" + TextBox1.Text + " Nama hostnya adalah : " +

CpIP.HostName

Page 4: 2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul ini akan dijelaskan pula set IP versi 6. Tampilan pada desain dapat anda lihat pada

Andrew fiade pemrograman jaringan – [email protected] halaman 4

ListBox1.Items.Add(a)

End Sub

End Class

IP END POINT

Ip End Point dimaksudkan IP yang terhubung kesebuah alamat server, atau analogi lain IP

dari client yang masuk ke IP Server. Karena kita belum masuk ke aplikasi server, maka IP

yang digunakan menggunakan alamat localhost yaitu 127.0.0.1 dan port yang digunakan

dapat bebas, dalam hal ini 12345.

Untuk desain, sama seperti program diatas, tambahkan button dengan text =”Ip End Point”.

Supaya nanti hasilnya tidak tercampur dengan program pertama,maka dalam program

tersebut list box kita clearkan dengan menambahkan baris

ListBox1.Items.Clear()

Desain anda dapat lihat pada gambar. Dan tambahan program dapat anda lihat pada

button2.

Page 5: 2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul ini akan dijelaskan pula set IP versi 6. Tampilan pada desain dapat anda lihat pada

Andrew fiade pemrograman jaringan – [email protected] halaman 5

Kode program digabungkan dengan program diatas sebelumnya, karena masih dalam satu

form.

Kode Program Ip End Point

Imports System

Imports System.Data

Imports System.Net

Imports System.Net.Sockets

Public Class Form2

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles Button1.Click

Dim CpIP As IPHostEntry

Dim a As String

CpIP = Dns.GetHostByAddress(TextBox1.Text)

a = "IP :" + TextBox1.Text + " Nama hostnya adalah : " +

CpIP.HostName

ListBox1.Items.Add(a)

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles Button2.Click

Dim ipAddr As System.Net.IPAddress

Dim ipEndPoint As System.Net.IPEndPoint

Dim socketAddr As System.Net.SocketAddress

ListBox1.Items.Clear()

Try

ipAddr = IPAddress.Parse("127.0.0.1")

ipEndPoint = New System.Net.IPEndPoint(ipAddr, 12345)

socketAddr = ipEndPoint.Serialize()

ListBox1.Items.Add("Address Family: " &

ipEndPoint.AdressFamily.ToString)

ListBox1.Items.Add("IP:Port: " & ipEndPoint.Address.ToString

& ":" & ipEndPoint.Port.ToString)

ListBox1.Items.Add("SocketAddress : " &

socketAddr.ToString())

Catch ex As Exception

ListBox1.Items.Add(ex.StackTrace.ToString)

End Try

End Sub

End Class

MENDETEKSI IP ADDRESS

Page 6: 2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul ini akan dijelaskan pula set IP versi 6. Tampilan pada desain dapat anda lihat pada

Andrew fiade pemrograman jaringan – [email protected] halaman 6

Selanjutnya mendeteksi IP Address di komputer kita terkadang IP Address yang kita set

selalu berubah hal ini akan menjadi masalah kalau kita mendefiniskan dalam program IP

yang digunakan bersifat statis.

Dalam program ini didefinisikan pula mengetahui nama ip dari nama sebuah domain, dalam

hal ini user mengetikan nama domain di nama web jika anda lihat pada desain program.

Ketika diklik maka program akan menampikan IP Address yang dimiliki oleh facebook

sebagai contoh pada program. Anda dapat lihat hasilnya adalah 66.220.158.11

Silahkan anda buka firefox atau browser internet anda dengan 66.220.158.11, dan lihat

halaman web apa yang akan tampil.

Jika komputer anda memiliki alamat IP versi 6, maka alamat versi 6 anda akan tampil, jika

anda ingin memiliki IP versi 6, dalam modul ini akan dijelaskan pula set IP versi 6. Tampilan

pada desain dapat anda lihat pada gambar.

Properti yang digunakan dalam form tersebut yaitu:

• Label sebanyak 4 buah

• Textbox sebanyak 4 buah

• Button

Import yang digunakan agar VB net mengenali program yang kita ketikan yaitu:

• Imports System.Net

• Imports System.Net.Sockets

Untuk pendeteksian IP Address dari domain

Page 7: 2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul ini akan dijelaskan pula set IP versi 6. Tampilan pada desain dapat anda lihat pada

Andrew fiade pemrograman jaringan – [email protected] halaman 7

Dim hostname2 As IPHostEntry = Dns.GetHostByName(TextBox1.Text) menyimpan

nama domain web.

Dan alamat domain, misalkan facebook ditampilkan di

TextBox2.Text = ip2(0).ToString()

Ip Komputer sendiri ditampilkan di TextBox3.Text = ip(0).ToString()

Untuk alamat mac address ditampilkan di

TextBox4.Text = curAdd.ToString()

Kode lengkap nya dapat anda lihat di Kode program mendeteksi IP Address

Kode Program Mendeteksi IP Address

Imports System.Net

Imports System.Net.Sockets

Public Class Form2

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles Button1.Click

Dim hostname2 As IPHostEntry =

Dns.GetHostByName(TextBox1.Text)

Dim hostname As IPHostEntry =

Dns.GetHostEntry(System.Environment.MachineName)

Dim ip As IPAddress() = hostname.AddressList

Dim ip2 As IPAddress() = hostname2.AddressList

TextBox3.Text = ip(0).ToString()

TextBox2.Text = ip2(0).ToString()

Dim curAdd As IPAddress

For Each curAdd In hostname.AddressList

'=== Retrieve only IPv4 ====

If curAdd.AddressFamily = AddressFamily.InterNetwork

Then

TextBox4.Text = curAdd.ToString()

End If

Next curAdd

End Sub

End Class

MENCEK APAKAH KOMPUTER TERHUBUNG DENGAN INTERNET

Terkadang kita ingin memastikan komputer yang kita gunakan apakah dapat terhubung

internet atau tidak, umumnya kita gunakan ping detik.com. dengan asumsi jika

mendapatkan reply maka kita terhubung ke internet. Di sini kita dapat pula menguji apakah

komputer kita dapat terhubung?.

Page 8: 2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul ini akan dijelaskan pula set IP versi 6. Tampilan pada desain dapat anda lihat pada

Andrew fiade pemrograman jaringan – [email protected] halaman 8

Untuk aplikasi ini kita tidak menggunakan form baru, dari yang sebelumnya cukup

menambahkan sebuah label, seperti pada gambar. Pada gambar dibawah, merupakan hasil

pengujian program.

Dengan menambahkan program

If InternetGetConnectedState(Out, 0) = True Then

maka kita tampilkan dengan kondisi benar atau salah jika benar koneksi terhubung jika tidak

koneksi. Anda tidak perlu membuat ulang, silahkan dihat program dibawah ini

Kode Program Deteksi Internet

Imports System.Net

Imports System.Net.Sockets

Imports System.Runtime.InteropServices

Public Class Form2

Private Declare Function InternetGetConnectedState Lib "wininet"

(ByRef conn As Long, ByVal val As Long) As Boolean

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles Button1.Click

Dim hostname2 As IPHostEntry =

Dns.GetHostByName(TextBox1.Text)

Dim hostname As IPHostEntry =

Dns.GetHostEntry(System.Environment.MachineName)

Dim ip As IPAddress() = hostname.AddressList

Dim ip2 As IPAddress() = hostname2.AddressList

TextBox3.Text = ip(0).ToString()

Page 9: 2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul ini akan dijelaskan pula set IP versi 6. Tampilan pada desain dapat anda lihat pada

Andrew fiade pemrograman jaringan – [email protected] halaman 9

TextBox2.Text = ip2(0).ToString()

Dim curAdd As IPAddress

For Each curAdd In hostname.AddressList

'=== Retrieve only IPv4 ====

If curAdd.AddressFamily = AddressFamily.InterNetwork

Then

TextBox4.Text = curAdd.ToString()

End If

Next curAdd

Dim Out As Integer

If InternetGetConnectedState(Out, 0) = True Then

Label5.Text = "Terkoneksi Internet"

Else

Label5.Text = "Tidak terhubung Internet"

End If

End Sub

End Class

URL ADDRESS

Kali ini bukan IP Address, akan tetapi link url yang biasa kita ketikan di internet, kita ingin

mengetahui informasi apa saya yang dapat kita gali url tersebut. Dalam hal ini yang dapat

kita ekspose adalah:

• Nama lokasi web

• Port yang digunakan

• Query jika menggunakan.

• Tipe IP yang digunakan

Properti yang digunakan yaitu:

• Textbox

• Button

• Listbox

Modul yang digunakan yaitu:

• Imports System.Net

• Imports System.Net.Sockets

Desain dapat anda lihat pada gambar dan kode program dapat and lihat pula dihalaman

selanjutnya

Page 10: 2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul ini akan dijelaskan pula set IP versi 6. Tampilan pada desain dapat anda lihat pada

Andrew fiade pemrograman jaringan – [email protected] halaman 10

Silahkan dapat dilanjutkan dengan mengetikan program dibawah ini

Kode Program URL

Imports System.Net

Imports System.Net.Sockets

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles Button1.Click

Dim aUri As New Uri(TextBox1.Text)

ListBox1.Items.Clear()

ListBox1.Items.Add("Absolute Url : " + aUri.AbsoluteUri)

ListBox1.Items.Add("Host : " + aUri.Host)

ListBox1.Items.Add("Scheme : " + aUri.Scheme)

ListBox1.Items.Add("Port : " + aUri.Port.ToString)

ListBox1.Items.Add("Absolute Path : " + aUri.AbsolutePath)

ListBox1.Items.Add("Query : " + aUri.Query)

ListBox1.Items.Add("User Infor : " + aUri.UserInfo)

Dim a, b As String

b = TextBox1.Text

a = b.Replace("http://", "")

Select Case aUri.CheckHostName(a)

Case UriHostNameType.Basic

ListBox1.Items.Add("Hostname: Basic")

Case UriHostNameType.Dns

ListBox1.Items.Add("Hostname: Dns")

Case UriHostNameType.IPv4

ListBox1.Items.Add("Hostname : IPv4")

Case UriHostNameType.IPv6

ListBox1.Items.Add("Hostname : IPv6")

Page 11: 2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul ini akan dijelaskan pula set IP versi 6. Tampilan pada desain dapat anda lihat pada

Andrew fiade pemrograman jaringan – [email protected] halaman 11

Case UriHostNameType.Unknown

ListBox1.Items.Add("Hostname : Unknown")

End Select

End Sub

End Class

Untuk query:

• http://www.java2s.com/index.htm?key=value

• http://fst.uinjkt.ac.id

• http://fst.uinjkt.ac.id/andrew

• http://gurahjakarta.blogdetik.com

silahkan coba yang lainnya.

Page 12: 2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul ini akan dijelaskan pula set IP versi 6. Tampilan pada desain dapat anda lihat pada

Andrew fiade pemrograman jaringan – [email protected] halaman 12

IPV6

Pada modul ini akan diuji, membuat aplikasi TCP Server dengan Ipv6. Sebelum ke arah

pemrograman VB. NET kita pastikan untuk instalasi IPV6 di komputer kita, dalam hal ini

pengujian saya lakukan di sistem operasi windows 7.

INSTALASI

PENGUJIAN IPV6

Setelah dilakukan instalasi kita uji komputer kita dengan mengecek IP Address yang telah di

set secara otomatis. Kita dapat menguji di command prompt dengan mengetikan netsh,

detail dapat dilihat di bawah.

Hasil Command Prompt Netsh

C:\Users\andrew>netsh interface ipv6 show address

Interface 1: Loopback Pseudo-Interface 1

Addr Type DAD State Valid Life Pref. Life Address

--------- ----------- ---------- ---------- ------------------------

Page 13: 2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul ini akan dijelaskan pula set IP versi 6. Tampilan pada desain dapat anda lihat pada

Andrew fiade pemrograman jaringan – [email protected] halaman 13

Other Preferred infinite infinite ::1

Interface 15: Wireless Network Connection

Addr Type DAD State Valid Life Pref. Life Address

--------- ----------- ---------- ---------- ------------------------

Other Deprecated infinite infinite fe80::3816:7756:d33:a936%15

Interface 11: Local Area Connection

Addr Type DAD State Valid Life Pref. Life Address

--------- ----------- ---------- ---------- ------------------------

Other Deprecated infinite infinite fe80::dd:65d2:5457:250f%11

Interface 13: Teredo Tunneling Pseudo-Interface

Addr Type DAD State Valid Life Pref. Life Address

--------- ----------- ---------- ---------- ------------------------

Other Deprecated infinite infinite fe80::100:7f:fffe%13

C:\Users\andrew>

Dari hasil diatas, terdapat 3 jaringan yang dapat dilihat pada tabel, hasil wireless dan local

area connection, selalu berubah dan bersifat dinamis. Namun standard yang sama yaitu

dimulai dengan fe80

No Nama Interface Ipv6

1 Loopback/localhost ::1

2 Wireless Network

Connection

fe80::100:7f:fffe%13

3 Local Area Connection fe80::dd:65d2:5457:250f%11

Untuk meyakinkan, kita dapat uji dengan mengetikan IP di diatas,anda dapat sesuaikan

dengan hasil di komputer masing-masing.

Uji local host output Command Prompt

C:\Users\andrew>ping ::1

Pinging ::1 with 32 bytes of data:

Reply from ::1: time<1ms

Reply from ::1: time<1ms

Reply from ::1: time<1ms

Reply from ::1: time<1ms

Page 14: 2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul ini akan dijelaskan pula set IP versi 6. Tampilan pada desain dapat anda lihat pada

Andrew fiade pemrograman jaringan – [email protected] halaman 14

Ping statistics for ::1:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms

C:\Users\andrew>

Uji lokal IP Wireless Output Command Prompt

C:\Users\Andrew>ping fe80::100:7f:fffe%13

Pinging fe80::100:7f:fffe%13 with 32 bytes of data:

Reply from fe80::100:7f:fffe%13: time<1ms

Reply from fe80::100:7f:fffe%13: time<1ms

Reply from fe80::100:7f:fffe%13: time<1ms

Reply from fe80::100:7f:fffe%13: time<1ms

Ping statistics for fe80::100:7f:fffe%13:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms

C:\Users\Andrew>tracert fe80::100:7f:fffe%13

Untuk Ipv6 kita dapat lakukan tracert, sama dengan ipv4, pengguaan tracert. Contoh output:

Output Command Prompt Tracert

C:\Users\Andrew>tracert fe80::100:7f:fffe%13

Tracing route to fe80::100:7f:fffe%13 over a maximum of 30 hops

1 <1 ms <1 ms <1 ms fe80::100:7f:fffe

Trace complete.

C:\Users\Andrew>ping fe80:1:1

Page 15: 2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul ini akan dijelaskan pula set IP versi 6. Tampilan pada desain dapat anda lihat pada

Andrew fiade pemrograman jaringan – [email protected] halaman 15

AKTIFKAN IPV6 FRAMEWORK

Selanjutnya kita aktifkan Ipversi6. Secara default Framework versi 2 sudah mendukung Ipv6, dalam

arti secara pemrograman sudah didukung menurut msdn versi windows.

Namun adakalanya memang tidak diaktifkan. ☺

Cara untuk mengaktifkan kita masuk ke machine.config yang berada di lokasi

C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG

Karena secara default pula, file tersebut di proteksi sehingga kita tidak dapat edit, maka ubah

properti file machine.config dengan cara:

• Klik kanan file tersebut

• Pilih security

• Pilih user (dalam hal ini user penulis adalah Lenovo)

• Pilih edit dan centang semua hak akses seperti pada gambar.

• OK, anda dapat edit file tersebut.

Page 16: 2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul ini akan dijelaskan pula set IP versi 6. Tampilan pada desain dapat anda lihat pada

Andrew fiade pemrograman jaringan – [email protected] halaman 16

Anda tambahkan baris ini, kemudian kita simpan.dengan ini, VB.Net dapat mendukung Ipv6

Tambahan baris untuk machine.config

<system.net> <settings> <ipv6 enabled="true" /> </settings> </system.net>

PEMROGRAMAN VB.NET

Selanjutnya, kita lakukan pemrograman VB.NET kita buat aplikasi Ipv6Server dan

Ipv6Client.

Dibawah ini desain dari Ipv6.

Properti yang digunakan:

• Label

• Listbox

• Button

Page 17: 2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul ini akan dijelaskan pula set IP versi 6. Tampilan pada desain dapat anda lihat pada

Andrew fiade pemrograman jaringan – [email protected] halaman 17

Jika anda lihat Ipv6server merupakan nama form, anda bebas mengubah nama form.

Import yang diperlukan dalam program ini yaitu:

• Imports System.Net

• Imports System.Net.Sockets

• Imports System.Threading

• Imports System.Text

Logika program;

• Port didefinisikan terlebih dahulu di Load (saat komputer dijalankan dengan nilai

9999 (anda bebas mengubah)

• Saat form load dijalankan, maka TCP Ipversi 6 diaktifkan pula sesuai dengan baris thdListener.Start()

• Fungsi listener tersebut merupakan sebuah fungsi

• Setiap ada pesan dari client. Dengan baris

bytes = clientSocket.Receive(RecvBytes)

a = Encoding.ASCII.GetString(RecvBytes)

UpdateLblStatusThreadSafe(a)

Maka akan ditampilkan di text box.

• Untuk lebih ringkas, maka button ketika diklik akan memanggil form client, dalam hal ini

penulis menamakan clientipv6 dan pemanggilan dengan clientipv6.Show().

Sintak ini akan benar jika anda sudah membuat form client untuk ipversi 6. Jika anda

belum buat maka baris tersebut tidak dikenal

Kode Program IPVersi 6 Server

Imports System.Net

Imports System.Net.Sockets

Imports System.Threading

Imports System.Text

Public Class IPv6server

Public Shared port As Integer

Private Delegate Sub updateLblStatus_dlgt(ByVal tempStr As String)

Private Sub IPv6server_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

port = 9999

Dim thdListener As Thread = New Thread( _

New ThreadStart(AddressOf listener))

thdListener.Start()

End Sub

Public Sub listener()

Dim sckListener As Socket

Page 18: 2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul ini akan dijelaskan pula set IP versi 6. Tampilan pada desain dapat anda lihat pada

Andrew fiade pemrograman jaringan – [email protected] halaman 18

Dim a As String

Dim clientSocket As Socket

Dim ipepLocal As IPEndPoint = New IPEndPoint(IPAddress.IPv6Any,

port)

Dim RecvBytes() As Byte = New Byte(Byte.MaxValue) {}

Dim bytes As Int32

If (Not Socket.SupportsIPv6) Then

MessageBox.Show("Cannot support IPv6")

Return

End If

While True

sckListener = New Socket(AddressFamily.InterNetworkV6,

SocketType.Stream, ProtocolType.Tcp)

sckListener.Bind(ipepLocal)

sckListener.Listen(0)

clientSocket = sckListener.Accept()

bytes = clientSocket.Receive(RecvBytes)

a = Encoding.ASCII.GetString(RecvBytes)

UpdateLblStatusThreadSafe(a)

clientSocket.Close()

sckListener.Close()

End While

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button1.Click

clientipv6.Show()

End Sub

Private Sub UpdateLblStatusThreadSafe(ByVal tempStr As String)

Dim updateLblStatus_obj As updateLblStatus_dlgt

If ListBox1.InvokeRequired Then

updateLblStatus_obj = New updateLblStatus_dlgt(AddressOf

UpdateLblStatusThreadSafe)

If Not updateLblStatus_obj Is Nothing Then

ListBox1.Invoke(updateLblStatus_obj, tempStr)

End If

Else

Call UpdateLblStatus(tempStr)

End If

End Sub

Private Sub UpdateLblStatus(ByVal tempStr As String)

ListBox1.Items.Add(tempStr)

End Sub

End Class

Page 19: 2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul ini akan dijelaskan pula set IP versi 6. Tampilan pada desain dapat anda lihat pada

Andrew fiade pemrograman jaringan – [email protected] halaman 19

IPVERSI 6 CLIENT

Langsung saja, form desain dapat lihat pada gambar, dan properti yang diperlukan yaitu:

• Label : 2buah

• Text box : 2 buah

• button

dan import yang digunakan:

• Imports System.Net

• Imports System.Net.Sockets

• Imports System.Text

Proses algoritma ini:

• Form client ini akan show, ketika dari form server ip versi 6 mengklik button.

• Port sudah didefinisikan oleh program yaitu 9999, dengan form load, saat aplikasi

dijalankan

• User input alamat versi 6 server yang dapat dilihat diawal.

• User input pesan

• User klik button. Untuk kirim.

Page 20: 2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul ini akan dijelaskan pula set IP versi 6. Tampilan pada desain dapat anda lihat pada

Andrew fiade pemrograman jaringan – [email protected] halaman 20

Kode Program Ipversi 6 Client

Imports System.Net

Imports System.Net.Sockets

Imports System.Text

Public Class clientipv6

Public Shared port As Integer

Private Sub clientipv6_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

port = 9999

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button1.Click

Dim msg() As Byte

Dim a As String

If Not Socket.SupportsIPv6 Then

MessageBox.Show("Cannot support IPv6")

Return

End If

Dim ipAddrv6 As IPAddress = IPAddress.Parse(TextBox1.Text)

Dim ipEPv6 As IPEndPoint = New IPEndPoint(ipAddrv6, port)

Dim ipv6Socket As Socket

ipv6Socket = New Socket(AddressFamily.InterNetworkV6,

SocketType.Stream, ProtocolType.Tcp)

ipv6Socket.Connect(ipEPv6)

a = "IP: " + TextBox1.Text + " pesan:" + TextBox2.Text

msg = Encoding.ASCII.GetBytes(a)

ipv6Socket.Send(msg)

ipv6Socket.Close()

End Sub

End Class

Page 21: 2 IP Address 21 - rhezaariyanto.files.wordpress.com · anda ingin memiliki IP versi 6, dalam modul ini akan dijelaskan pula set IP versi 6. Tampilan pada desain dapat anda lihat pada

Andrew fiade pemrograman jaringan – [email protected] halaman 21

Berikut contoh tampilan output.

Modul ini sudah selesai, kita lanjutkan tentang socket.