ServerSocket与多个客户端一起使用我们为每个客户端附加单独的线程来工作可能,但问题是连接工作正常,并接受所有客户端,但只服务于最后一次连接。所以不是问题或者这是正常的。ServerSocket与多个客户端
服务器代码:
ServerSocket serverSocket=null;
Socket client;
System.out.println("Establishing Connection. Please wait...");
try{
serverSocket =new ServerSocket(58342);
System.out.println("Serever Started.");
}catch(Exception e)
{
System.out.println(e.getMessage());
}
while (true) {
try{
client = serverSocket.accept();
new ClientThread(client).start();
}catch(Exception e)
{
String err=e.getMessage();
if(err == null)
{
break;
}else{
System.out.println(e.getMessage());
}
}
}
ClientThread
public class ClientThread extends Thread{
private static Socket client;
private static String line="";
private static DataInputStream input = null;
private static DataOutputStream output = null;
public ClientThread(Socket serv)
{
try {
client =serv;
input=new DataInputStream(client.getInputStream());
output=new DataOutputStream(client.getOutputStream());
System.out.println("New Client Connected to port:"+
client.getPort());
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
是的你是对的。我忘记了我在同一个ID内工作,非常感谢。如果你没有回答我不会得到它。因为我不会感谢它 – Alyafey 2013-04-21 23:33:22