Java多個客戶端同時連接服務(wù)端,在現(xiàn)實生活中用得比較多。同時執(zhí)行多項任務(wù),第一想到的當(dāng)然是多線程了。下面用多線程來實現(xiàn)并發(fā)多連接。
import java.net.*;
import java.io.*;
public class ThreadServer extends Thread
{
private Socket client;
public ThreadServer(Socket c)
{
this.client=c;
}
public void run()
{
try
{
BufferedReader in=new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter out=new PrintWriter(client.getOutputStream());
//Mutil User but can't parallel
while (true)
{
String str=in.readLine();
System.out.println(str);
out.println("has receive....");
out.flush();
if (str.equals("end"))
break;
}
client.close();
}
catch (IOException ex)
{
}
finally
{
}
}
public static void main(String[] args)throws IOException
{
ServerSocket server=new ServerSocket(8000);
while (true)
{
//transfer location change Single User or Multi User
ThreadServer mu=new ThreadServer(server.accept());
mu.start();
}
}
import java.net.*;
import java.io.*;
public class ThreadServer extends Thread
{
private Socket client;
public ThreadServer(Socket c)
{
this.client=c;
}
public void run()
{
try
{
BufferedReader in=new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter out=new PrintWriter(client.getOutputStream());
//Mutil User but can't parallel
while (true)
{
String str=in.readLine();
System.out.println(str);
out.println("has receive....");
out.flush();
if (str.equals("end"))
break;
}
client.close();
}
catch (IOException ex)
{
}
finally
{
}
}
public static void main(String[] args)throws IOException
{
ServerSocket server=new ServerSocket(8000);
while (true)
{
//transfer location change Single User or Multi User
ThreadServer mu=new ThreadServer(server.accept());
mu.start();
}
}