Skip navigation

Category Archives: Network Programming


This was just an idea popped up when I had trouble sleeping last night. Basically we can use Thrift for defining the data and service going in and out Lambda service instead of plain REST API.

Below is the code for the server. To make it easier to deploy I am using Serverless Framework.

This is still lack authentication process whatsoever so I don’t think this should be use in production until I figure it out.

The full source code is hosted here: https://github.com/petrabarus/aws-lambda-thrift-example


*Maaf baru posting setelah sekian lama*

Sekarang saya akan mencoba membuat kelas Entity Persistence pada project yang pernah diposting sebelum ini. Pada proyek itu telah dibuat Persistence Unitnya.
Read More »


Session adalah sebuah pertukaran informasi semi permanen antara dua buah device. Dengan menggunakan session sebuah device terus dapat mengenali sebuah device identik dalam jangka waktu yang tidak terlalu lama dan dapat menyimpan informasi mengenai komunikasi antara kedua device tersebut. Session ini bersifat stateful (meski mungkin ada yang tidak, tapi gw pribadi gak tau contohnya). Sebuah device dapat mengingat apa sih yang terjadi antara device tersebut dengan sebuah device yang lain selama komunikasi berlangsung.

3wayhandshakeContoh session adalah TCP session. Pada awal sebuah komunikasi TCP, kedua device akan membuka sebuah socket untuk berkomunikasi. Sebuah TCP session adalah dari awal sebuah device mengirimkan SYN sampai dengan pesan ACK penutupan koneksi tersebut.

Di dalam desain protokol, kita perlu mengetahui state sebuah device. Dengan adanya session, state tersebut dengan mudahnya diketahui selama kedua device masih berada dalam session. Pada contoh di post-post sebelumnya, awal sebuah session dimulai ketika sebuah socket selesai melakukan blocking dan menerima koneksi sampai socket ditutup. Selama sesi ini kedua device bertukar pesan-pesan. Pesan-pesan ini nantinya akan diparsing oleh kedua device berdasarkan protokol yang sudah ditetapkan oleh si desainer protokol.

Akan tetapi ada beberapa protokol yang sifatnya stateless, seperti protokol HTTP. Pada protokol ini, client hanya mengirim sebuah HTTP request dan server mengembalikan sebuah HTTP response. Hal ini dirasa cukup karena pada awalnya HTTP mungkin digunakan untuk static web. Pada penggunaan selanjutnya ada kebutuhan untuk membuat sebuah web sedikit lebih statis. Kemudian diciptakanlah sebuah mekanisme session di atas protokol HTTP.

Pada mekanisme ini, saat server menerima request dari sebuah client, server tersebut akan memeriksa apakah client tersebut sudah berada dalam sebuah session atau belum. Jika belum maka server membangkitkan sebuah hash dan menyimpannya pada basis data. Setelah itu server akan mengembalikan response yang disertai dengan hash tersebut pada header dari response. Selanjutnya si client diwajibkan untuk menyertakan hash tersebut pada header dari request yang dikirim kepada si server. Dengan demikian server dapat mengetahui apakah si client sudah berada pada sebuah session atau belum.


Salah satu cara mengatasi kemungkinan timeout yang diakibatkan oleh blocking pada postingan sebelumnya adalah dengan menggunakan multithread.

Read More »


Pada post yang lalu, server yang dijalankan hanya bisa memaintain sebuah koneksi kemudian keluar. Cara untuk mengatasinya adalah dengan menggunakan infinite loop.
Read More »


Kalau dipost yang ini dan ini, gw udah nyoba client menggunakan Telnet dan Command Line Application, sekarang gw bakal nyoba bikin client dengan GUI.

a1

Jadi ada 3 buah obyek form: textbox, button, sama textarea. Nah pada textbox, gw pengen mengetikkan apa yang ingin gw kirim ke server. Kemudian gw klik button “Kirim”. Di textarea akan keliatan pesan-pesan dari server.

Read More »


Kalau di post ini kita nyobanya pake Telnet, maka sekarang kita bikin client sederhana untuk berkomunikasi dengan server tersebut.
Read More »


Lanjutan dari yang sebelumnya.

Di sini, gw akan mencoba ngebuat sebuah server tebak-tebakan. Server ini akan membangkitkan sebuah angka, mencoba menerima masukkan dari client sebuah angka, dan memeriksa kecocokan angka dari client dengan angka yang sudah dibangkitkan. Gw akan mencoba memperagakan bagaimana sebuah server dapat memegang koneksi dan melakukan komunikasi terus menerus sampai salah satu memutuskan.
Read More »


Sebelum ini gw gak pernah melakukan pemrograman socket dalam bahasa Java. Tapi sejak tugas progin yang terakhir memperbolehkan penggunaan Java untuk pemrograman socket, alhasil gw eksplorasi-eksplorasi dikit. Dan ternyata jauh lebih menyenangkan pemrograman socket di Java. Hehe.

Pertama-tama untuk mengenal socket di Java, kita bikin sebuah server yang menerima sebuah koneksi. Kodenya yang agak sederhana adalah di bawah.

Read More »


Di ambil dari sini. Sedikit snippet tentang socket programming di C. Pemrograman ini menggunakan fungsi-fungsi socket yang sudah disediakan oleh Linux. Untuk beberapa OS lain seperti BSD dan MacOS kalau gak salah penangannya agak sedikit berbeda.

Read More »

%d blogger menyukai ini: