"Hai, Amigo!"

"Hallo, Riska!"

"Topik pelajaran dina iki yaiku soket."

"Sampeyan wis ngerti yen saben komputer ing jaringan duwe alamat IP unik dhewe."

"Ya wis."

"Saiki bayangake sampeyan duwe sawetara komputer, saben mbukak rolas program sing ngakses Internet: Skype, ICQ, lsp."

"Lan program iki pengin komunikasi karo saben liyane."

"Kita kudu nyegah wong-wong mau supaya ora ngganggu siji liyane. Kita kudu nggawe supaya Skype nyambung karo Skype, Slack nyambung karo Slack, lsp."

"Elinga carane masalah iki ditanggulangi karo URL lan server web?"

"Ya, kita nambah port."

"Pancen."

"Iku kaya nggawe akeh kamar cilik ing omah lan ngomong yen omah iku bangunan apartemen. Saben pelabuhan kaya apartemen sing kapisah. "

"Yen alamat IP minangka pengenal unik kanggo komputer, banjur alamat IP sing digabungake karo port minangka pengenal unik kanggo 'apartemen' tartamtu ing komputer, ing ngendi program bisa manggon. "

"Lokasi unik iki diarani soket ."

"Soket duwe nomer unik dhewe sing kalebu alamat IP lan nomer port. "

"Ah. Ing tembung liyane, soket minangka pengenal kanggo sawetara lokasi komputer virtual ing ngendi program bisa manggon? Lan program liyane ngirim pesen menyang lokasi iki, sing ngidini loro program kasebut komunikasi?"

"Aku ora ngerti kepiye sampeyan ngerti, nanging pancen bener."

"Robo-sense kula ngandika."

"Apik. Banjur aku menehi sawetara rincian."

"Sockets bener cara paling dhasar lan primitif kanggo program kanggo komunikasi."

"Jawa duwe rong kelas kanggo nggarap soket. Yaiku Soket lan ServerSocket ."

" ServerSocket minangka kelas khusus sing obyek makili server, yaiku ngidini aku njaluk panjaluk layanan sing teka ing soket tartamtu."

" Kelas Socket iku bener soket klien. Kita nggunakake aplikasi iku kanggo ngirim pesen menyang soket liyane lan nampa respon."

"Mangkene carane ngirim pesen menyang soket:"

Tuladha
// Create a socket
Socket clientSocket = new Socket("localhost", 4444);

// Get an OutputStream
OutputStream outputStream = clientSocket.getOutputStream();
PrintWriter out = new PrintWriter(outputStream, true);
out.println("Kiss my shiny metal ass!");
out.flush();

// Read the response
InputStream inputStream = clientSocket.getInputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
String answer = in.readLine();

"Kabeh meh padha karo ngundhuh file saka Internet."

"Iki, anakku, amarga soket uga digunakake ing kana."

"Sockets dumunung ing jantung kabeh sing ana gandhengane karo jaringan - uga, meh kabeh."

"Sampeyan bisa maca informasi tambahan ing kene "

"Matur nuwun kanggo pelajaran, Rishi."

"Aku durung rampung. Sing angan-angan."

"Saiki kita bakal njelajah cara kerja soket server."

"Iku rada luwih rumit."

Tuladha
// Create a server socket object
ServerSocket serverSocket = new ServerSocket(4444); // Port

// Process incoming connections in a loop
while (true)
{
 // The accept method waits for someone to connect
 Socket socket = serverSocket.accept();

 // Read the response
 InputStream inputStream = socket.getInputStream();
 BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
 String message = in.readLine();

 // Create a response - we'll just reverse the string
 String reverseMessage = new StringBuilder(message).reverse().toString();

 // Send the response
 OutputStream outputStream = socket.getOutputStream();
 PrintWriter out = new PrintWriter(outputStream, true);
 out.println(reverseMessage);
 out.flush();
}

"Aku pengin narik kawigaten sampeyan menyang sawetara poin."

"Titik 1: Kanggo nggawe soket (klien), sampeyan kudu nemtokake alamat IP (utawa jeneng domain) lan port. Kanggo nggawe soket server, sampeyan mung kudu nemtokake port. Soket server mung ana ing komputer ngendi iku digawe."

"Titik 2: Kelas ServerSocket duwe metode accept () sing ngenteni sambungan mlebu. Ing tembung liyane, cara bakal mbukak ing salawas-lawase nganti sawetara soket klien nyoba nyambung. Banjur metode accept () nampa sambungan, nggawe soket. obyek kanggo ngidini komunikasi, banjur ngasilake obyek iki."

"Saka sudut pandang programmer Java, soket ana rong aliran: InputStream saka ngendi sampeyan maca pesen / data, lan OutputStream kanggo sampeyan nulis pesen / data."

"Nalika sampeyan nggawe soket server, sampeyan bener-bener nggawe port sing bisa disambungake menyang soket klien ing komputer liyane. Nanging kanggo nindakake iki, dheweke kudu nemtokake nomer port soket lan alamat IP komputer kita kanthi bener. utawa jeneng domain."

"Iki conto sing menarik kanggo sampeyan. Sampeyan bisa nyoba ngeduk lan mbukak:"

https://www.logicbig.com/tutorials/core-java-tutorial/http-server/http-server-basic.html

"Intine yaiku nggunakake soket server kanggo nulis server web super primitif sing bisa diakses mung saka browser."

"Wah! Server web? Keren! Aku bakal sinau kanthi teliti."

"Matur nuwun, Ri."

"Iki wae, Amigo. Ayo santai!"