同一台电脑开多个客户端,服务器如何区分这些Socket
//Server.javaimport java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Random;public class Server implements Runnable
{
ServerSocket serverSocket;
Socket fromClient;
Socket toClient[] = new Socket[4];
Thread serverThread;
DataOutputStream streamToClient;
DataInputStream streamFromClient;
String msg = "";
int count = 0;

int i, j;
public Server()
{
try 

{
serverSocket = new ServerSocket(8888);
serverThread = new Thread(this);
serverThread.start();

catch (IOException e) 
{
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("服务器已启动");
}
@Override
public void run() 
{
// TODO Auto-generated method stub
while (true)
{
try 
{
fromClient = serverSocket.accept();
streamToClient = new DataOutputStream(fromClient.getOutputStream());
streamFromClient = new DataInputStream(fromClient.getInputStream());
msg = streamFromClient.readUTF();

catch (IOException e) 
{
// TODO Auto-generated catch block
e.printStackTrace();
}
if (msg.equals("login"))
{
toClient[count] = fromClient;

count++;
if(count == 4)
{
count = 0;
try 
{

for ( int j = 0; j < 4; j++)
{
streamToClient = new DataOutputStream(toClient[j].getOutputStream());
streamToClient.writeUTF("你是用户" + j);
}

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


public static void main(String agrs[])
{
new Server();
}}//Client.java
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class Client extends JFrame implements ActionListener
{ DataInputStream  streamFromServer; 
DataOutputStream streamToServer; 
Socket toServer;
JTextArea txtMessages; 
JButton connectBtn;
JPanel panel;
JScrollPane scrollPane;
public Client()
{
  panel = (JPanel) this.getContentPane();
  txtMessages = new JTextArea(25,35);
  scrollPane = new JScrollPane(txtMessages);
  panel.setLayout(new BorderLayout());
  connectBtn = new JButton("连接");
  connectBtn.addActionListener(this);
  panel.add(scrollPane,BorderLayout.CENTER);
  panel.add(connectBtn,BorderLayout.SOUTH);
  this.setSize(500,400);
  
  
}
@Override
public void actionPerformed(ActionEvent arg0)
{
// TODO Auto-generated method stub
if ( arg0.getSource() == connectBtn )
{
try
{
toServer = new Socket("127.0.0.1",8888);
streamFromServer = new DataInputStream(toServer.getInputStream());
streamToServer = new DataOutputStream(toServer.getOutputStream());
streamToServer.writeUTF("login");
String s = streamFromServer.readUTF();
txtMessages.setText(s);
}
catch (UnknownHostException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}}例如上面程序开四个客户端程序, 服务器如何区分??