SlideShare a Scribd company logo
Networking Versi 0.1 Pembangunan Aplikasi Mobile
Tujuan Pada akhir pembelajaran ini, siswa diharapkan berkemampuan untuk : Menjelaskan tentang Generic Connection Framework dan penggunaannya dalam dukungan terhadap metode koneksi yang berbeda-beda Menjelaskan parameter koneksi dalam format pengalamatan GCF Membuat koneksi HTTP / HTTPS connections Membuat MIDlet yang mengimplementasikan socket TCP dan datagram UDP
Networking Generic Connection Framework HTTP Connection HTTPS Connection TCP Socket Connection Server Socket Connection Datagram Connection
Generic Connection Framework Generic Connection Framework mendukung koneksi berbasis paket (Sockets) dan berbasis streaming (Datagrams)‏ GCF menyediakan API dasar untuk koneksi dalam CLDC. Framework ini menyediakan konektivitas umum seperti HTTP, Sockets dan Datagrams. GCF menyediakan rangkaian API yang mengabstraksikan seluruh tipe koneksi.  Perlu diperhatikan bahwa tidak seluruh tipe koneksi diperlukan untuk diimplementasikan dalam perangkat MIDP.
Hirarkhi GCF Interface
GCF scheme://username: [email_address] :port/path;parameters scheme://[username[:password]@]host[:port]/path[;parameters] scheme adalah protokol ataupun metode koneksi. Contoh scheme : http, ftp, https Username bersifat opsional, namun jika disertakan, @ akan menyatakan parameter host password juga bersifat opsional dan hanya diperlukan bila username digunakan. Password dipisahkan dari username menggunakan sebuah tanda colon (:)‏
GCF scheme://username: [email_address] :port/path;parameters scheme://[username[:password]@]host[:port]/path[;parameters] host – parameter ini diperlukan. Dapat berupa hostname, FQDN ataupun alamat IP tujuan Port – parameter ini bersifat opsional. Jika tidak terdefinisi, maka port default dalam metode koneksi terpilih akan digunakan. Path parameters – bersifat opsional, dipisahkan oleh semi-colon bila digunakan.
Networking Generic Connection Framework HTTP Connection HTTPS Connection TCP Socket Connection Server Socket Connection Datagram Connection
HTTP Connection HTTP singkatan dari HyperText Transfer Protocol.  Adalah sebuah protokol yang digunakan untuk mentransmisikan halaman web dari web server menuju web browster.  Client (web browser) melakukan request sebuah halaman web dengan menspesifikasikan path dengan menggunakan perintah “GET” ataupun “POST”.
HTTP Dalam metode “GET”, parameter dispesifikasikan dan tergabung dalam URL. Sebagai contoh, untuk melewatkan variabel dengan nama “id” bernilai 100 kepada “index.jsp”, URL tertulis sebagai berikut : “http://hostname/index.jsp?id=100”. Parameter tambahan dipisahkan dengan tanda (&) "http://hostname/index.jsp?id=100&page=2". Bilamana method "POST" digunakan, parameter tidak menjadi bagian dalam URL namun akan dikirimkan dalam baris yang berbeda setelah perintah POST.
HTTP Connection Anda dapat membuka sebuah koneksi HTTP dengan menggunakan Connector.open() dan melakukan casting terhadapnya menggunakan salah satu interface : StreamConnection, ContentConnection dan HTTPConnection.  Namun, dengan menggunakan StreamConnection dan ContentConnection, anda tidak dapat menentukan parameter spesifik HTTP . Pada saat anda menggunakan StreamConnection, panjang balasan yang akan diterima tidak dapat ditentukan sebelumnya.
HTTP Connection import javax.microedition.io.*; HttpConnection connection = null; InputStream iStream = null; byte[] data = null; try { connection = (HttpConnection)  Connector.open("http://www.sun.com/");
HTTP Connection int code = connection.getResponseCode(); switch (code){ case HttpConnection.HTTP_OK: iStream = connection.openInputStream(); int length = (int) connection.getLength(); if (length > 0){ data = new byte[length];
HTTP Connection int totalBytes = 0; int bytesRead = 0; while ((totalBytes < length) && (bytesRead > 0)) { bytesRead = iStream.read( data, totalBytes, length - totalBytes); if (bytesRead > 0){ totalBytes += bytesRead; } }
HTTP Redirects int code = connection.getResponseCode(); switch(code){ case HttpConnection.HTTP_MOVED_PERM: case HttpConnection.HTTP_MOVED_TEMP: case HttpConnection.HTTP_SEE_OTHER: case HttpConnection.HTTP_TEMP_REDIRECT: String newUrl = conn.getHeaderField(&quot;Location&quot;); ...
Networking Generic Connection Framework HTTP Connection HTTPS Connection TCP Socket Connection Server Socket Connection Datagram Connection
HTTPS Connection HTTPS adalah HTTP dalam koneksi dengan tingkat keamanan tinggi..  Membuka sebuah koneksi HTTPS mirip dengan membuka koneksi HTTP.  Satu – satunya perbedaan adalah URL yang diberikan pada Connector.open() dan meng-castingnya sebagai HttpsConnection class variable. Sebuah  CertificateException   akan terjadi bila terdapat kegagalan dalam verifikasi terhadap certificate
HTTPS import javax.microedition.io.*; HttpsConnection connection = null; InputStream iStream = null; byte[] data = null;  try { connection = (HttpsConnection)‏ Connector.open(&quot;https://www.sun.com/&quot;);  int code = connection.getResponseCode(); ... } catch (CertificateException ce){ switch (ce.getReason()){ case CertificateException.EXPIRED: ...
Networking Generic Connection Framework HTTP Connection HTTPS Connection TCP Socket Connection Server Socket Connection Datagram Connection
TCP Sockets Layer TCP menjamin seluruh paket yang dikirimkan telah diterima dalam urutan yang sama pada saat pengiriman. Jika sebuah paket gagal diterima, maka akan dikirimkan kembali. Layer TCP menangani pengurutan dan pengiriman ulang paket secara transparan. Sehingga, protokol HTTP tidak perlu mengatur tentang penguraian dan pengurutan paket karena hal ini akan tangani oleh layer TCP.
TCP Connection SocketConnection conn = (SocketConnection)  Connector.open(&quot;socket://www.sun.com:80&quot;); client.setSocketOption(DELAY, 0); InputStream iStream = conn.openInputStream(); OutputStream oStream = conn.openOutputStream(); os.write(&quot;GET / HTTP/1.0\n\n&quot;.getBytes());
TCP Connection int c = 0; while((c = is.read()) != -1) { // mengolah data yang diterima  ... } iStream.close(); oStream.close(); conn.close();
Networking Generic Connection Framework HTTP Connection HTTPS Connection TCP Socket Connection Server Socket Connection Datagram Connection
Server Sockets Dalam kasus Client-Server, server secara berkesinambungan menunggu koneksi dari client melalui port yang digunakan. Kita juga dapat menggunakan method Connector.open method untuk membuat server socket. URL yang diberikan pada open() adalah berformat sama dengan yang digunakan pada socket TCP, dengan hostname yang dibiarkan kosong (mis: socket://:8899).
Server Sockets ServerSocketConnection conn = (ServerSocketConnection)  Connector.open(&quot;socket://:8889&quot;); // menunggu koneksi dari Client SocketConnection client = (SocketConnection) conn.acceptAndOpen(); client.setSocketOption(DELAY, 0);
Server Sockets InputStream iStream = client.openInputStream(); OutputStream oStream = client.openOutputStream(); // membaca/menulis pada input/output streams ... is.close(); os.close(); client.close(); server.close();
Networking Generic Connection Framework HTTP Connection HTTPS Connection TCP Socket Connection Server Socket Connection Datagram Connection
Datagrams Distribusi paket UDP packets tidak dijamin. Tidak terdapat jaminan bahwa paket uang dikirimkan menggunakan koneksi Datagram akan diterima. Urutan dari paket yang diterima juga tidak dapat dipastikan. Urutan dari paket yang dikirimkan bisa jadi tidak sama dengan urutan paket yang akan diterima. Datagram atau  packet digunakan pada saat aplikasi tetap dapat beroperasi meskipun paket yang dikirimkan hilang ataupun tidak sesuai urutan.
Datagrams String url; try {  if (isServer){  // sebagai server, menunggu port 8888 url = &quot;datagram://:8888&quot;; } else { // sebagai client, koneksi ke port 8888 // dengan host &quot;localhost&quot; url = &quot;datagram://localhost:8888&quot;; } dc = (DatagramConnection) Connector.open(url);
Datagrams while (true) { Datagram dgram = dc.newDatagram(128); dc.receive(dgram); if (isServer){ // sebagai server // mengambil alamat koneksi // dalam proses pengiriman pesan  url = dgram.getAddress(); }
Datagrams if (dgram.getLength() > 0){  String mesg = new String( dgram.getData(),  0, dgram.getLength())); } } } catch (IOException ioe) {} catch (Exception e) {}
Datagrams private void sendMesg(String line){ try { byte[] bytes = line.getBytes(); Datagram dgram = null; dgram =  dc.newDatagram(bytes, bytes.length, url); dc.send(dgram); } catch (Exception ioe) {} }
Kesimpulan Generic Connection Framework HTTP Connection HTTPS Connection TCP Socket Connection Server Socket Connection Datagram Connection

More Related Content

PDF
Jeni J2 Me Bab06 Jaringan
PPTX
Kajian kes datagram analisis dengan wireshark
DOCX
Kali ini saya baru saja memperoleh pengetahuan tentang protokol tcp dan udp
PDF
Konfigurasi mikrotik
PPT
Materi 2
DOCX
Socket Programming TCP Echo Client Server (Python)
DOCX
setting mikrotik
DOCX
Socket Programming UDP Echo Client Server (Python)
Jeni J2 Me Bab06 Jaringan
Kajian kes datagram analisis dengan wireshark
Kali ini saya baru saja memperoleh pengetahuan tentang protokol tcp dan udp
Konfigurasi mikrotik
Materi 2
Socket Programming TCP Echo Client Server (Python)
setting mikrotik
Socket Programming UDP Echo Client Server (Python)

What's hot (11)

PPT
TRANSPORT LAYER UDP TCP
PPT
Transport layer
DOCX
Network Layer
PDF
Pengamatan Wireshark pada TCP dan UDP
DOCX
Nat di Mikrotik
DOCX
Tugas switching
PDF
HTTP Protokol
DOCX
Tugas 4
DOCX
Lapres ftp
PDF
Capturing network-packet-dengan-wireshark
DOCX
Laporan resmi praktikum 2 keamanan data
TRANSPORT LAYER UDP TCP
Transport layer
Network Layer
Pengamatan Wireshark pada TCP dan UDP
Nat di Mikrotik
Tugas switching
HTTP Protokol
Tugas 4
Lapres ftp
Capturing network-packet-dengan-wireshark
Laporan resmi praktikum 2 keamanan data
Ad

Viewers also liked (18)

PPS
Apresentação1
PDF
Nạp mực máy in hp 1200
PPTX
Pr writing top ten
PPTX
Top Ten in PR Writing
PPTX
New Media & Public Relations
PDF
Writing for PR and Social Media - Andrea Aker & Beth Cochran
PPTX
New Media and Public Relations
PDF
Public relations - Basic Concepts
PPTX
Public Relations and New Media Technologies
KEY
Public relations
PPTX
Chapter 1 What is Public Relations?
PPTX
Functions & activities of PR
PPT
Public relations introduction
PPTX
Public relation
PPTX
Internal and External publics of Public Relations by Shaining Star Lyngdoh
PPTX
Public relation.ppt
PPTX
Public Relations
PPT
Different Tools of Public Relations
Apresentação1
Nạp mực máy in hp 1200
Pr writing top ten
Top Ten in PR Writing
New Media & Public Relations
Writing for PR and Social Media - Andrea Aker & Beth Cochran
New Media and Public Relations
Public relations - Basic Concepts
Public Relations and New Media Technologies
Public relations
Chapter 1 What is Public Relations?
Functions & activities of PR
Public relations introduction
Public relation
Internal and External publics of Public Relations by Shaining Star Lyngdoh
Public relation.ppt
Public Relations
Different Tools of Public Relations
Ad

Similar to Jeni slides j2 me-06-networking (20)

PDF
JENI-J2ME-Bab06-Jaringan.pdf
PDF
Jeni j2 me-bab06-jaringan
PDF
Part 3 & 4 Networking Programming.pdf
PDF
Praktikum pemrograman jaringan-1-3
PDF
Octav android mysql
RTF
Praktik Kejuruan Pembahasana
PPTX
PPT UTS Pemograman Jaringan- Thomas & Claudio.pptx
PPT
Soap
PDF
Jeni Web Programming Bab 3 Advanced Servlets
PDF
Konfigurasi web server
DOCX
Laporan Resmi HTTP
PDF
Laporan resmi http revised
PDF
Jeni Intro2 Bab10 Jaringan
PDF
Tugas pemrograman III_1100631028
PPT
application layer
PPTX
Transpot layer
PPTX
Internet World Wide Web
PDF
Tugas pemrograman3 rpc,soap,rest_1100631020
PDF
10 transport layer (tcp&udp)
PDF
RPC.SOAP.REST_1100631021
JENI-J2ME-Bab06-Jaringan.pdf
Jeni j2 me-bab06-jaringan
Part 3 & 4 Networking Programming.pdf
Praktikum pemrograman jaringan-1-3
Octav android mysql
Praktik Kejuruan Pembahasana
PPT UTS Pemograman Jaringan- Thomas & Claudio.pptx
Soap
Jeni Web Programming Bab 3 Advanced Servlets
Konfigurasi web server
Laporan Resmi HTTP
Laporan resmi http revised
Jeni Intro2 Bab10 Jaringan
Tugas pemrograman III_1100631028
application layer
Transpot layer
Internet World Wide Web
Tugas pemrograman3 rpc,soap,rest_1100631020
10 transport layer (tcp&udp)
RPC.SOAP.REST_1100631021

More from UNIVERSITY Of LAMPUNG (20)

PDF
Jeni j2 me-cover
PDF
Jeni j2 me-bab11-topik-topik tambahan
PDF
Jeni j2 me-bab10-optional%20packages
PDF
Jeni j2 me-bab08-web services
PDF
Jeni j2 me-bab07-security
PDF
Jeni j2 me-bab05-persistence
PDF
Jeni j2 me-bab04-low level user interface
PDF
Jeni j2 me-bab03-high level user interface
PDF
Jeni j2 me-bab02-memulai pemrograman mobile
PDF
Jeni j2 me-bab01-pengembangan aplikasi mobile
PDF
Jeni j2 me-bab09-optimisasi
PPT
Jeni slides j2 me-10- optional package
PPT
Jeni slides j2 me-07-security
PPT
Jeni slides j2 me-05-persistence
PPT
Jeni slides j2 me-04 low level user interface-v 0.2
PPT
Jeni slides j2 me-03-high level user interface
PPT
Jeni slides j2 me-02-memulai pemrograman mobile
PPT
Jeni slides j2 me-01-pengenalan thdp pembangunan apl mobile
PPT
Jeni slides j2 me-11-topik-topik tambahan-v0.2
PPT
Jeni slides j2 me-09-optimisasi
Jeni j2 me-cover
Jeni j2 me-bab11-topik-topik tambahan
Jeni j2 me-bab10-optional%20packages
Jeni j2 me-bab08-web services
Jeni j2 me-bab07-security
Jeni j2 me-bab05-persistence
Jeni j2 me-bab04-low level user interface
Jeni j2 me-bab03-high level user interface
Jeni j2 me-bab02-memulai pemrograman mobile
Jeni j2 me-bab01-pengembangan aplikasi mobile
Jeni j2 me-bab09-optimisasi
Jeni slides j2 me-10- optional package
Jeni slides j2 me-07-security
Jeni slides j2 me-05-persistence
Jeni slides j2 me-04 low level user interface-v 0.2
Jeni slides j2 me-03-high level user interface
Jeni slides j2 me-02-memulai pemrograman mobile
Jeni slides j2 me-01-pengenalan thdp pembangunan apl mobile
Jeni slides j2 me-11-topik-topik tambahan-v0.2
Jeni slides j2 me-09-optimisasi

Recently uploaded (20)

PPTX
Materi-Geografi-Pendekatan-Konsep-dan-Prinsip-Geografi-Kelas-10.pptx
PDF
Sosialisasi Menu DAK NF TA 2026 Promkeskom.pdf
DOCX
Modul Ajar Deep Learning Prakarya Budidaya Kelas 12 SMA Terbaru 2025
PPTX
SEJARAH BENDERA MERAH PUTIH - MATERI PRAMUKA
PDF
Laporan On The Job TRaining PM KS Siti Hikmah.pdf
PDF
LK Modul 3 - Menentukan Pengalaman Belajar Herpina Indah Permata Sari (2).pdf
PDF
AI-Driven Intelligence and Cyber Security: Strategi Stabilitas Keamanan untuk...
PDF
PPT Yudisium Ceremony Agusus 2025 - new. pdf
PPTX
PROGRAM KOKURIKULER KELAS 9 TEMA 1_20250811_075823_0000.pptx
PDF
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
PPTX
SISTEM POLITIK DAN PEMERINTAHAN INDONESIA.pptx
DOCX
Modul Ajar Pembelajaran Mendalam PJOK Kelas X Terbaru 2025
PPTX
!!!!Bahan Tayang Kompetensi Manajerial-AKUNTABILITAS KINERJA-DR Asep Iwa.pptx
PPT
Kamera foto dan editing foto pengenalan fotografi
PDF
[1]_120325_Penyamaan Persepsi Kepmen 63_M_KEP_2025.pdf
PPTX
Modul 3 Prinsip-Pembelajaran-Mendalam.pptx
DOCX
Modul Ajar Deep Learning PKN Kelas 10 SMA Terbaru 2025
PDF
Laporan On The Job TRaining PM KS Siti Hikmah.pdf
PPTX
Saint Maximilian Kolbe, Polish friar, priest, missionary and martyr (indonesi...
PPTX
materi presentasi sustainable development
Materi-Geografi-Pendekatan-Konsep-dan-Prinsip-Geografi-Kelas-10.pptx
Sosialisasi Menu DAK NF TA 2026 Promkeskom.pdf
Modul Ajar Deep Learning Prakarya Budidaya Kelas 12 SMA Terbaru 2025
SEJARAH BENDERA MERAH PUTIH - MATERI PRAMUKA
Laporan On The Job TRaining PM KS Siti Hikmah.pdf
LK Modul 3 - Menentukan Pengalaman Belajar Herpina Indah Permata Sari (2).pdf
AI-Driven Intelligence and Cyber Security: Strategi Stabilitas Keamanan untuk...
PPT Yudisium Ceremony Agusus 2025 - new. pdf
PROGRAM KOKURIKULER KELAS 9 TEMA 1_20250811_075823_0000.pptx
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
SISTEM POLITIK DAN PEMERINTAHAN INDONESIA.pptx
Modul Ajar Pembelajaran Mendalam PJOK Kelas X Terbaru 2025
!!!!Bahan Tayang Kompetensi Manajerial-AKUNTABILITAS KINERJA-DR Asep Iwa.pptx
Kamera foto dan editing foto pengenalan fotografi
[1]_120325_Penyamaan Persepsi Kepmen 63_M_KEP_2025.pdf
Modul 3 Prinsip-Pembelajaran-Mendalam.pptx
Modul Ajar Deep Learning PKN Kelas 10 SMA Terbaru 2025
Laporan On The Job TRaining PM KS Siti Hikmah.pdf
Saint Maximilian Kolbe, Polish friar, priest, missionary and martyr (indonesi...
materi presentasi sustainable development

Jeni slides j2 me-06-networking

  • 1. Networking Versi 0.1 Pembangunan Aplikasi Mobile
  • 2. Tujuan Pada akhir pembelajaran ini, siswa diharapkan berkemampuan untuk : Menjelaskan tentang Generic Connection Framework dan penggunaannya dalam dukungan terhadap metode koneksi yang berbeda-beda Menjelaskan parameter koneksi dalam format pengalamatan GCF Membuat koneksi HTTP / HTTPS connections Membuat MIDlet yang mengimplementasikan socket TCP dan datagram UDP
  • 3. Networking Generic Connection Framework HTTP Connection HTTPS Connection TCP Socket Connection Server Socket Connection Datagram Connection
  • 4. Generic Connection Framework Generic Connection Framework mendukung koneksi berbasis paket (Sockets) dan berbasis streaming (Datagrams)‏ GCF menyediakan API dasar untuk koneksi dalam CLDC. Framework ini menyediakan konektivitas umum seperti HTTP, Sockets dan Datagrams. GCF menyediakan rangkaian API yang mengabstraksikan seluruh tipe koneksi. Perlu diperhatikan bahwa tidak seluruh tipe koneksi diperlukan untuk diimplementasikan dalam perangkat MIDP.
  • 6. GCF scheme://username: [email_address] :port/path;parameters scheme://[username[:password]@]host[:port]/path[;parameters] scheme adalah protokol ataupun metode koneksi. Contoh scheme : http, ftp, https Username bersifat opsional, namun jika disertakan, @ akan menyatakan parameter host password juga bersifat opsional dan hanya diperlukan bila username digunakan. Password dipisahkan dari username menggunakan sebuah tanda colon (:)‏
  • 7. GCF scheme://username: [email_address] :port/path;parameters scheme://[username[:password]@]host[:port]/path[;parameters] host – parameter ini diperlukan. Dapat berupa hostname, FQDN ataupun alamat IP tujuan Port – parameter ini bersifat opsional. Jika tidak terdefinisi, maka port default dalam metode koneksi terpilih akan digunakan. Path parameters – bersifat opsional, dipisahkan oleh semi-colon bila digunakan.
  • 8. Networking Generic Connection Framework HTTP Connection HTTPS Connection TCP Socket Connection Server Socket Connection Datagram Connection
  • 9. HTTP Connection HTTP singkatan dari HyperText Transfer Protocol. Adalah sebuah protokol yang digunakan untuk mentransmisikan halaman web dari web server menuju web browster. Client (web browser) melakukan request sebuah halaman web dengan menspesifikasikan path dengan menggunakan perintah “GET” ataupun “POST”.
  • 10. HTTP Dalam metode “GET”, parameter dispesifikasikan dan tergabung dalam URL. Sebagai contoh, untuk melewatkan variabel dengan nama “id” bernilai 100 kepada “index.jsp”, URL tertulis sebagai berikut : “http://hostname/index.jsp?id=100”. Parameter tambahan dipisahkan dengan tanda (&) &quot;http://hostname/index.jsp?id=100&page=2&quot;. Bilamana method &quot;POST&quot; digunakan, parameter tidak menjadi bagian dalam URL namun akan dikirimkan dalam baris yang berbeda setelah perintah POST.
  • 11. HTTP Connection Anda dapat membuka sebuah koneksi HTTP dengan menggunakan Connector.open() dan melakukan casting terhadapnya menggunakan salah satu interface : StreamConnection, ContentConnection dan HTTPConnection. Namun, dengan menggunakan StreamConnection dan ContentConnection, anda tidak dapat menentukan parameter spesifik HTTP . Pada saat anda menggunakan StreamConnection, panjang balasan yang akan diterima tidak dapat ditentukan sebelumnya.
  • 12. HTTP Connection import javax.microedition.io.*; HttpConnection connection = null; InputStream iStream = null; byte[] data = null; try { connection = (HttpConnection) Connector.open(&quot;http://www.sun.com/&quot;);
  • 13. HTTP Connection int code = connection.getResponseCode(); switch (code){ case HttpConnection.HTTP_OK: iStream = connection.openInputStream(); int length = (int) connection.getLength(); if (length > 0){ data = new byte[length];
  • 14. HTTP Connection int totalBytes = 0; int bytesRead = 0; while ((totalBytes < length) && (bytesRead > 0)) { bytesRead = iStream.read( data, totalBytes, length - totalBytes); if (bytesRead > 0){ totalBytes += bytesRead; } }
  • 15. HTTP Redirects int code = connection.getResponseCode(); switch(code){ case HttpConnection.HTTP_MOVED_PERM: case HttpConnection.HTTP_MOVED_TEMP: case HttpConnection.HTTP_SEE_OTHER: case HttpConnection.HTTP_TEMP_REDIRECT: String newUrl = conn.getHeaderField(&quot;Location&quot;); ...
  • 16. Networking Generic Connection Framework HTTP Connection HTTPS Connection TCP Socket Connection Server Socket Connection Datagram Connection
  • 17. HTTPS Connection HTTPS adalah HTTP dalam koneksi dengan tingkat keamanan tinggi.. Membuka sebuah koneksi HTTPS mirip dengan membuka koneksi HTTP. Satu – satunya perbedaan adalah URL yang diberikan pada Connector.open() dan meng-castingnya sebagai HttpsConnection class variable. Sebuah CertificateException akan terjadi bila terdapat kegagalan dalam verifikasi terhadap certificate
  • 18. HTTPS import javax.microedition.io.*; HttpsConnection connection = null; InputStream iStream = null; byte[] data = null; try { connection = (HttpsConnection)‏ Connector.open(&quot;https://www.sun.com/&quot;); int code = connection.getResponseCode(); ... } catch (CertificateException ce){ switch (ce.getReason()){ case CertificateException.EXPIRED: ...
  • 19. Networking Generic Connection Framework HTTP Connection HTTPS Connection TCP Socket Connection Server Socket Connection Datagram Connection
  • 20. TCP Sockets Layer TCP menjamin seluruh paket yang dikirimkan telah diterima dalam urutan yang sama pada saat pengiriman. Jika sebuah paket gagal diterima, maka akan dikirimkan kembali. Layer TCP menangani pengurutan dan pengiriman ulang paket secara transparan. Sehingga, protokol HTTP tidak perlu mengatur tentang penguraian dan pengurutan paket karena hal ini akan tangani oleh layer TCP.
  • 21. TCP Connection SocketConnection conn = (SocketConnection) Connector.open(&quot;socket://www.sun.com:80&quot;); client.setSocketOption(DELAY, 0); InputStream iStream = conn.openInputStream(); OutputStream oStream = conn.openOutputStream(); os.write(&quot;GET / HTTP/1.0\n\n&quot;.getBytes());
  • 22. TCP Connection int c = 0; while((c = is.read()) != -1) { // mengolah data yang diterima ... } iStream.close(); oStream.close(); conn.close();
  • 23. Networking Generic Connection Framework HTTP Connection HTTPS Connection TCP Socket Connection Server Socket Connection Datagram Connection
  • 24. Server Sockets Dalam kasus Client-Server, server secara berkesinambungan menunggu koneksi dari client melalui port yang digunakan. Kita juga dapat menggunakan method Connector.open method untuk membuat server socket. URL yang diberikan pada open() adalah berformat sama dengan yang digunakan pada socket TCP, dengan hostname yang dibiarkan kosong (mis: socket://:8899).
  • 25. Server Sockets ServerSocketConnection conn = (ServerSocketConnection) Connector.open(&quot;socket://:8889&quot;); // menunggu koneksi dari Client SocketConnection client = (SocketConnection) conn.acceptAndOpen(); client.setSocketOption(DELAY, 0);
  • 26. Server Sockets InputStream iStream = client.openInputStream(); OutputStream oStream = client.openOutputStream(); // membaca/menulis pada input/output streams ... is.close(); os.close(); client.close(); server.close();
  • 27. Networking Generic Connection Framework HTTP Connection HTTPS Connection TCP Socket Connection Server Socket Connection Datagram Connection
  • 28. Datagrams Distribusi paket UDP packets tidak dijamin. Tidak terdapat jaminan bahwa paket uang dikirimkan menggunakan koneksi Datagram akan diterima. Urutan dari paket yang diterima juga tidak dapat dipastikan. Urutan dari paket yang dikirimkan bisa jadi tidak sama dengan urutan paket yang akan diterima. Datagram atau packet digunakan pada saat aplikasi tetap dapat beroperasi meskipun paket yang dikirimkan hilang ataupun tidak sesuai urutan.
  • 29. Datagrams String url; try { if (isServer){ // sebagai server, menunggu port 8888 url = &quot;datagram://:8888&quot;; } else { // sebagai client, koneksi ke port 8888 // dengan host &quot;localhost&quot; url = &quot;datagram://localhost:8888&quot;; } dc = (DatagramConnection) Connector.open(url);
  • 30. Datagrams while (true) { Datagram dgram = dc.newDatagram(128); dc.receive(dgram); if (isServer){ // sebagai server // mengambil alamat koneksi // dalam proses pengiriman pesan url = dgram.getAddress(); }
  • 31. Datagrams if (dgram.getLength() > 0){ String mesg = new String( dgram.getData(), 0, dgram.getLength())); } } } catch (IOException ioe) {} catch (Exception e) {}
  • 32. Datagrams private void sendMesg(String line){ try { byte[] bytes = line.getBytes(); Datagram dgram = null; dgram = dc.newDatagram(bytes, bytes.length, url); dc.send(dgram); } catch (Exception ioe) {} }
  • 33. Kesimpulan Generic Connection Framework HTTP Connection HTTPS Connection TCP Socket Connection Server Socket Connection Datagram Connection