Lập trình SOCKET kết nôi Client - Server để tính tổng 2 số
/*Viết chương trình:
- Client: Nhập vào từ bàn phím 2 số nguyên (a,b). Client chờ nhận kết quả từ Server để in ra màn hình
- Server: Nhận 2 số nguyên mà Client vừa gửi, tính tổng của chúng và gửi kết quả cho Client
*/
//----------CLIENT----------------------------------------
import java.net.UnknownHostException;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
public class Socket_tong2so_client {
public static void main(String []args) throws IOException
{
System.out.println("Client dang ket noi voi Server... ");
String a,b,tong;
//tao socket de ket noi toi server, Locallhost: server mặc định
Socket ClientSocket = new Socket("Localhost", 1234);
//thong bao da ket noi thanh cong
System.out.println("Da ket noi voi Server! ");
//tao luong nhap du lieu tu ban phim
DataInputStream inFromUser = new DataInputStream(System.in);
//tao luong nhan du lieu tu server
DataInputStream inFromServer = new DataInputStream(ClientSocket.getInputStream());
//tao luong gui du lieu len server
DataOutputStream outToServer = new DataOutputStream(ClientSocket.getOutputStream());
// nhap du lieu tu ban phim
try{
System.out.println("\n Nhap a :");
a=inFromUser.readLine();
System.out.println("\n Nhap b :");
b=inFromUser.readLine();
// gui len server
outToServer.writeBytes(a+'\n');
outToServer.writeBytes(b+'\n');
}catch(UnknownHostException e)
{
System.err.println("Server Not Found");
System.exit(1);
}catch(IOException e)
{
System.err.println("Cannot make a connection");
System.exit(1);
}
//nhan ve tu server
tong=inFromServer.readLine();
//in ra man hinh
System.out.println("\n Ket qua :"+tong);
//dong luong gui du lieu len server
outToServer.close();
//dong luong nhan du lieu tu server
inFromServer.close();
//dong socket client
ClientSocket.close();
}
}
//----------SERVER----------------------------------------
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Socket_tong2so_server {
public static void main(String []args) throws IOException
{
System.out.println("Server dang khoi dong... ");
String so1,so2,so3;
int tong;
// tao server socket
ServerSocket server = new ServerSocket(1234);
System.out.println("Server da san sang! ");
//tao 1 socket do ket noi tu client toi server
Socket connectionSocket = server.accept();
//tao luong nhan du lieu tu client
DataInputStream inFromClient = new DataInputStream(connectionSocket.getInputStream());
// tao luong gui du lieu toi client
DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());
// truyen du lieu tu client vao 2 bien so1 va so2
so1 = inFromClient.readLine();
so2 = inFromClient.readLine();
//ep so1 va so2 tu kieu String sang kieu Integer
int a = Integer.parseInt(so1);
int b = Integer.parseInt(so2);
//tinh tong a + b
tong = a + b;
//ep tong sang kieu String
so3 = String.valueOf(tong);
//gui so3 ve client
outToClient.writeBytes(so3+'\n');
//dong luong nhan du lieu tu client
inFromClient.close();
//dong luong gui du lieu ve client
outToClient.close();
//dong server socket
server.close();
}
}
/*
Chú ý: Run class Server trước sau đó Run class Client
*/
* Có thể bạn quan tâm:
- Những cuốn sách mà các bạn không thể bỏ qua khi còn trẻ
- Khoá học tin học văn phòng tốt nhất
Chúc các bạn thành công!
[Tham khao: Internet]