1 Buổi 2 _ bài 1 Mon Mar 11, 2013 11:40 pm
Võ Nguyên Khoa
Vịt con
Đây là code bài 2 buổi 2.
Code đáp ứng tốt yêu cầu đề bài.
Nếu bạn nào muốn bàn luận thêm về đa luồng, hỗ trợ nhiều client cùng lúc thì pm yahoo: vonguyenkhoa075 hoặc gửi mail: khoa922@gmail.com
Server:
Client:
Link download file:
https://www.dropbox.com/sh/8m76udh47vo3gfu/nORXUjIRaI
Code đáp ứng tốt yêu cầu đề bài.
Nếu bạn nào muốn bàn luận thêm về đa luồng, hỗ trợ nhiều client cùng lúc thì pm yahoo: vonguyenkhoa075 hoặc gửi mail: khoa922@gmail.com
Server:
- Code:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketException;
public class Buoi2_b2_server {
private static final int MINE_PORT = 9999;
public static void main(String [] args) {
try {
// Tao server socket lang nghe o mot cong
// Tui chon cong 9999
ServerSocket mineServerSocket = new ServerSocket(MINE_PORT);
// --------> in ra man hinh : server da mo socket --------- //
System.out.println("Opening socket at port 9999 . . .");
//--------------------------------------------------------- //
for(;;) {
// Tiep nhan ket noi tu client len server
Socket socket = mineServerSocket.accept();
// ----------> in ra thong tin ve clien ket noi vao server //
System.out.println("--> Client " + socket.getInetAddress() + ":" + socket.getPort() + " vua ket noi vao.");
// ------------------------------------------------------- //
// Tao mot buffer de doc ky tu tu client gui len
// Va mot buf de gui ky tu xuong cho client
BufferedReader bufReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter printWriter = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
// Bat dau nhan du lieu tu client va phuc vu tra ket qua cho client
String [] result = {"khong","mot","hai","ba","bon","nam","sau","bay","tam","chin",};
String reciever = "";
String sender = "";
for(;;) {
try {
reciever = bufReader.readLine().trim();
sender = "Khong phai so nguyen !";
// Minh se chuyen chuoi --> so
// Vi the phai bat ngoai le cho truong hop no khong phai la so
System.out.println("Chuoi vua nhan duoc tu client: " + reciever.toString());
int numberToSendForClient = Integer.parseInt(reciever.toString());
if (numberToSendForClient >= 0 && numberToSendForClient <= 9) {
sender = result[numberToSendForClient];
}
printWriter.println(sender);
printWriter.flush();
}
catch (NumberFormatException nfe){
printWriter.println(sender);
printWriter.flush();
}
catch (SocketException ske) {
System.out.println("Client ngat ket noi --> dong socket");
socket.close();
break;
}
}
}
}
catch (IOException e) {
// ioe
e.printStackTrace();
}
}
}
Client:
- Code:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;
public class Buoi2_bai2_client {
private static final String HOST = "127.0.0.1";
private static final int PORT = 9999;
public static void main(String[] args) {
try {
// Tao mot socket ket noi vao server
Socket socket = new Socket(HOST,PORT);
// Tao buffer doc du lieu va printWriter dua du lieu len server
BufferedReader bufReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter printWriter = new PrintWriter(socket.getOutputStream());
// Bat dau phuc vu
String reciever = "";
String sender = "";
for(;;) {
System.out.print("Nhap vao 1 ky tu so (0 - 9) va (Nhap vao @ de thoat): ");
// Su dung scanner de doc du lieu nguoi dung go vao
// Dung scanner cho de -- HIHI
Scanner scanner = new Scanner(System.in);
sender = scanner.nextLine();
// Neu nhap vao @ thi thoat
// Khong thi gui len server
if(!sender.equals("@")) {
printWriter.println(sender);
printWriter.flush();
}
else {
System.out.println("Ban da thoat khoi chuong trinh !");
break;
}
// Nhap ket qua tu server
// Va in ra man hinh
reciever = bufReader.readLine();
System.out.println("Chuoi server tra ve: " + reciever);
}
}
catch (IOException ioe) {
// ioe
System.out.println("ioe . . .");
}
}
}
Link download file:
https://www.dropbox.com/sh/8m76udh47vo3gfu/nORXUjIRaI