Viết chương trình theo mô hình Client - Server sử dụng Socket ở chế độ có nối kết. Trong đó:
- Server làm nhiệm vụ đọc một ký tự từ '0' đến '9' (ví dụ: nhận số 0 trả về 'không, 1 trả về 'một'' ...... 9 trả về 'chín', nếu nhận ký tự khác số thì trả về: "Không phải số nguyên")
- Client nhập vào 1 ký tự, gửi qua Server, nhận kết quả trả về từ Server và hiển thị lên màn hình
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
/**
*
* @author QuangIT
*/
public class NumberServer {
/**
* @param args the command line arguments
*/
private static ServerSocket serverSocket = null;
public static void main(String[] args) throws IOException{
// TODO code application logic here
DataOutputStream dos = null;
DataInputStream dis=null;
try {
serverSocket = new ServerSocket(8000);
System.out.print("Server đã được mở \n" );
Socket clientSocket = null;
clientSocket = serverSocket.accept();
dos=new DataOutputStream(clientSocket.getOutputStream());
dis=new DataInputStream(clientSocket.getInputStream());
String inline="";
while(true)
{
inline = dis.readUTF();
char ch[]=inline.toCharArray();
if(Character.isDigit(ch[0]))
{
int i=Integer.parseInt(inline);
switch(i)
{
case 0:inline="Không";break;
case 1:inline="Một";break;
case 2:inline="Hai";break;
case 3:inline="Ba";break;
case 4:inline="Bốn";break;
case 5:inline="Năm";break;
case 6:inline="Sáu";break;
case 7:inline="Bảy";break;
case 8:inline="Tám";break;
case 9:inline="Chín";break;
}
dos.writeUTF(inline);
}
else
dos.writeUTF("Không phải số nguyên");
}
}
catch(Exception e) {
dos.close();
serverSocket.close();
dis.close();
System.out.print(e.getMessage());
}
}
}
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.util.Scanner;
/**
*
* @author QuangIT
*/
public class NumberClient
{
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException
{
// TODO code application logic here
Socket mySocket = null;
DataOutputStream dos = null;
DataInputStream dis=null;
try {
mySocket = new Socket("localhost", 8000);
dos = new DataOutputStream(mySocket.getOutputStream());
dis = new DataInputStream(mySocket.getInputStream());
Scanner input = new Scanner(System.in);
String s = null;
while(true)
{
System.out.print("\nNhap du lieu: ");
s =input.nextLine();
dos.writeUTF(s);
String str=dis.readUTF();
System.out.print("Kết quả từ Server : "+str);
}
}
catch(Exception e) {
System.out.print("Ngat ket noi");
dis.close();
dos.close();
mySocket.close();
e.printStackTrace();
}
}
}