Java ផ្តល់នូវ networking API ជាច្រើនសំរាប់developer ដើម្បីប្រើប្រាស់សំរាប់ការទំនាក់ទំនងគ្នាពីcomputerមួយទៅcomputerទៀតតាមរយៈ TCP/ID sockets ឬ UDP sockets តាមរយៈបណ្តាញinternet។ ប៉ុន្តែមានតែ TCP/IP ដែលត្រូវបានគេប្រើប្រាស់ច្រើនជា UDP។ មូលហេតុខាងដែលមិនសូវមានការប្រើប្រាស់UDP ក៏ដោយសារតែ៖ វាពុំមានការឆ្លើយឆ្លងគ្នារវាងcomputerមួយទៅcomputerមួយទៀត (ឬ computer ជាមួយ server)។ Clientមិនអាចដឹងថា តើទិន្នន័យដែលបានបញ្ជូនទៅ វាបានទទួលដោយ server ឬក៏បានបញ្ជូនទៅដល់ឬអត់។ ដូចគ្នាដែលserverក៏មិនអាចដឹងដូចគ្នាដែរ កាលណាserverបញ្ជូនទិន្នន័យមកវិញ។និយាយជារួម គឺមិនអាចដឹងថាតើទិន្នន័យបានទៅដល់គោលដៅឬអត់។ តែក៏មានចំនុចជាច្រើនផងដែរដែលអ្នកត្រូវប្រើប្រាស់ជំនួស TCP/IP វិញ។
ការអនុវត្តជាមួយនឹង Java Networking Socket
Create A Socket
ដើម្បីអាចឲ្យclient ភ្ជាប់ទៅកាន់serverបានតាមរយៈ TCP/IP ដោយប្រើប្រាស់ភាសា Java យើងត្រូវបង្កើត java.net.Socket ហើយភ្ជាប់វា។
Socket socket = new Socket("192.168.1.18", 80);
Socket socket = new Socket("itjonbot.tk", 80);
Write Read Socket
Socket socket = new Socket("itjonbot.tk", 80);
OutputStream out = socket.getOutputStream();
out.write("some data".getBytes());
out.flush();
out.close();
socket.close();
Socket socket = new Socket("itjonbot.tk", 80);
InputStream in = socket.getInputStream();
int data = in.read();
//... read more data...
in.close();
socket.close();
សូមកុំភ្លេចសរសេរកូដមួយបន្ទាត់នេះនៅចុងបញ្ចប់នៃកូដរបស់អ្នកណា៎
socket.close();
Create Server Socket
ដើម្បីអាចដឹងថាមានconnectionជាមួួនឹង client យើងអាចសរសេរបានដូចខាងក្រោម៖
ServerSocket serverSocket = new ServerSocket(9000);
ដែលលេខ 9000ជាលេខសំគាល់port។
ដើម្បីអាចដឹងថាមានconnectionជាមួួនឹង client យើងអាចសរសេរបានដូចខាងក្រោម៖
ServerSocket serverSocket = new ServerSocket(9000);
boolean isStopped = false;
while(!isStopped){
Socket clientSocket = serverSocket.accept();
//do something with clientSocket
}
ហើយកុំភ្លេច serverSocket.close();