Giúp mình về socket.

ZzkensinzZ

New Member
20/6/15
1
0
0
31
Bài này mình làm dạng server -client.Khi client nhập 1 chuỗi thường thì server sẽ đổi thành chuỗi hoa.Chương trình đã chạy nhưng chỉ chạy 1 lần.Bây giờ mình muốn có vòng lặp cứ client nhập thì server xử lý và trả kết quả đến khi client nhập chuỗi exit thì kết thúc.MÌnh cho vòng lặp while vô client nhưng cứ báo lỗi ngay chỗ is.close() .Có cách nào giải quyết không mấy bạn.
Cảm ơn.

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.i:confused:utputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;

public class ClientDoiChu {
public static void main(String[] args) {

try {
//b1 ket noi
Socket server=new Socket("localhost",3000);

//b2 khai bao
BufferedReader is=new BufferedReader(new InputStreamReader(server.getInputStream()));
BufferedWriter os=new BufferedWriter(new OutputStreamWriter(server.getOutputStream()));
Scanner scanner=new Scanner(System.in);

//b3 Xu ly nhap du lieu
while(true){
String str;

System.out.print("Nhap chu: ");
str=scanner.nextLine();

//b4 chuyen du lieu den server
os.write(str);
os.newLine();
os.flush();

//b5 nhan ket qua tra ve
String kq=is.readLine();

//b6 thong bao ket qua
System.out.println("Chuoi da xu ly: "+kq);
}
//b7 ket thuc
is.close();
os.close();
server.close();

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
 

Joe

Thành viên VIP
21/1/13
2,963
1,307
113
The principles of every communication are:
- You speak I listen - I speak you listen.
- Not Both speak
- Not both listen
- Not I speak alone in an empty room
- Not you speak alone in an empty room
- Not I listen alone in an empty room
- Not you listen alone in an empty room
MÌnh cho vòng lặp while vô client nhưng cứ báo lỗi ngay chỗ is.close()
meaning: You speak and listen alone in an empty room.