Gửi bởi
detective009
mình đang học lập trình socket trong Java, giờ mình muốn 1 server kết nối được nhiều client thì phải làm thế nào?
ban đầu mình có ý tưởng là làm một mảng client rồi gọi phương thức accept() cho từng client nhưng có vẻ không ổn. Search trên mạng thấy nói dùng Multi Thread. ai đã làm hay hiểu biết phần này giảng cho mình hiểu thêm với, có demo càng tốt. cảm ơn mọi người nhiều [IMG]images/smilies/daydreaming.gif[/IMG]
Mình cũng đang học về socket. Hiện giờ thì mình đã tạo được Server và kết nối được với nhiều Client, có thể chat được từ Server với 1 trong các Client kết nối với nó, nhưng vấn đề là mình không làm được cho các Client kết nối và chat được với nhau T_T. Dù sao thì bác cũng chỉ cần Server kết nối được nhiều Client nên có thể tham khảo code này của mình
P/S: Bác nào có thể thì giúp mình luôn nhé [IMG]images/smilies/smile.png[/IMG] Cám ơn trước
# Server
Mã:
import java.io.*;import java.net.*; public class Server { public static void main(String[] args) { try{ ServerSocket serverSocket = new ServerSocket(8888); System.out.println("Khởi chạy máy chủ thành công"); while(true){ //Tạo Thread mới khi có 1 Client kết nối thành công new ThreadSocket(serverSocket.accept()).start(); System.out.println("Có 1 kết nối đến"); } } catch(IOException e){ System.out.println("Exception: " +e.getMessage()); } }}
# Client
Mã:
import java.io.*;import java.net.*; public class Client{ public static void main(String []args) throws IOException{ Socket ClientSocket = new Socket("localhost", 8888); System.out.println("Kết nối thành công!"); //Tạo luồng nhận dữ liệu từ bàn phím DataInputStream inFromUser = new DataInputStream(System.in); //Tạo luồng nhận dữ liệu từ Server DataInputStream inFromServer = new DataInputStream(ClientSocket.getInputStream()); //Tạo luồng gửi dữ liệu lên Server DataOutputStream outToServer = new DataOutputStream(ClientSocket.getOutputStream()); while(true){ try{ System.out.println("
Client: "); //Nhập dữ liệu nhập từ bàn phím rồi gửi lên Server String ask = inFromUser.readLine(); outToServer.writeBytes(ask+"
"); //Đọc dữ liệu Server gửi về rồi in ra String listen=inFromServer.readLine(); System.out.println("
Server: "+listen); } catch(UnknownHostException e) { System.err.println("Không tìm thấy máy chủ"); System.exit(1); } catch(IOException e){ System.err.println("Không thể kết nối với máy chủ"); System.exit(1); } } } }
# ThreadSocket
Mã:
import java.io.*;import java.net.*; public class ThreadSocket extends Thread{ Socket socket; public ThreadSocket(Socket pSocket){ this.socket=pSocket; } @Override public void run(){ try{ //Tạo luồng nhận dữ liệu từ bàn phím DataInputStream inFromServer = new DataInputStream(System.in); //Tạo luồng nhận dữ liệu từ Client DataInputStream inFromClient = new DataInputStream(socket.getInputStream()); //Tạo luồng gửi dữ liệu về Client DataOutputStream outToClient = new DataOutputStream(socket.getOutputStream()); while(true) { //Đọc dữ liệu từ Client gửi tới rồi in ra String listen = inFromClient.readLine(); System.out.println("
Client: "+listen); System.out.println("
Server: "); //Nhập dữ liệu từ bàn phím rồi gửi về Client String ask = inFromServer.readLine(); outToClient.writeBytes(ask+"
"); } } catch(Exception e){ e.printStackTrace(); } }}
Hiện nay, có khá nhiều sản phẩm dương vật giả giá rẻ xuất hiện trên thị trường. Chúng đến từ các nhà sinh sản ở khắp nơi trên thế giới như Mỹ, Nhật, Hồng Kông…Hơn nữa, các đồ chơi này cũng khá đa...
Top một số dương vật giả rẻ và...