UDP Socket Programming No frills bare bones Internet
UDP Socket Programming • “No frills, ” “bare bones” Internet transport protocol • “Best effort” service, UDP segments may be: – Lost – Delivered out of order to app • Connectionless: – No handshaking between UDP sender, receiver – Each UDP segment handled independently of others PEMROGRAMAN JARINGAN
Why is there a UDP? • • No connection establishment (which can add delay) Simple: no connection state at sender, receiver Small header No congestion control: UDP can blast away as fast as desired PEMROGRAMAN JARINGAN
UDP (User Datagram protocol) • Often used for streaming multimedia apps – Loss tolerant – Rate sensitive • Other UDP uses (why? ): – DNS, SNMP • Reliable transfer over UDP – Must be at application layer – Application-specific error recovery PEMROGRAMAN JARINGAN
32 bits Length, in bytes of UDP segment, including header Source port # Dest port # Length Checksum Application data (message) UDP segment format PEMROGRAMAN JARINGAN
UDP Checksum Sender: • Treat segment contents as sequence of 16 -bit integers • Checksum: addition (1’s complement sum) of segment contents • Sender puts checksum value into UDP checksum field Receiver: • Compute checksum of received segment • Check if computed checksum equals checksum field value: – NO - error detected – YES - no error detected But maybe errors nonethless? PEMROGRAMAN JARINGAN
Praktek Aplikasi UDP Sama seperti TCP, UDP memerlukan jaringan client server atau dengan bahasa yang lain Sender dan receiver Form Sender (Server) PEMROGRAMAN JARINGAN
' aplikasi UDP Timer dirancang Oleh Tri Daryanto tgl 03/07/2006 Option Explicit 'prosedur perintah untuk keluar dari aplikasi Private Sub Command 1_Click() End Sub 'prosedur untuk menggunkan setting protokol dan port Private Sub Form_Load() scksender. Protocol = sck. UDPProtocol scksender. Local. Port = 44331 End Sub PEMROGRAMAN JARINGAN
'prosedur menerima data dari client, jika remote host IP tidak sama dengan local IP Private Sub scksender_Data. Arrival(By. Val bytes. Total As Long) Dim s As String scksender. Get. Data s If scksender. Remote. Host. IP <> scksender. Local. IP Then Caption = s 'tampilkan di caption label form End If End Sub Private Sub Timer 1_Timer() With scksender. Remote. Host = "127. 0. 0. 1". Remote. Port = 44332. Send. Data Text 1. Text 'kirim data berupa data jam dan tanggal ke receiver Text 1 = Now 'ambil data jam dan tanggal bios pada hari ini End With End Sub PEMROGRAMAN JARINGAN
Form Receiver (Client) PEMROGRAMAN JARINGAN
' aplikasi UDP Timer di rancang Oleh Tri Daryanto tgl 03/07/2006 Option Explicit 'prosedur untuk mengirim balik data yang diterima client ke server Private Sub Command 1_Click() receiver. Remote. Host = "127. 0. 0. 1" receiver. Remote. Port = 44331 receiver. Send. Data Text 1. Text End Sub 'prosedur keluar aplikasi UDP Client Private Sub Command 2_Click() End Sub PEMROGRAMAN JARINGAN
'prosedur memberitahukan kepada server bahwa client (receiver)siap menerima data Private Sub Form_Load() receiver. Protocol = sck. UDPProtocol receiver. Local. Port = 44332 receiver. Bind ' menunggu data dari server End Sub 'prosedur mengambil data dari jaringan ditampilkan di textbox Private Sub receiver_Data. Arrival(By. Val bytes. Total As Long) Dim s As String receiver. Get. Data s 'mengambil data yang dikirim sender Text 1. Text = s 'tampilkan data kedalam text box End Sub PEMROGRAMAN JARINGAN
- Slides: 11