服务器通过Java中的套接字响应所选客户端

时间:2013-03-06 17:21:53

标签: java sockets tcp

我将用Java创建2个Android设备之间的简单聊天。我找到了服务器的简单脚本,但我是编程套接字的新手。

问题: 我希望从客户端A收到消息并发送给客户端B.

我知道如何制作" echo"响应同一客户端,但如何将消息发送给其他客户端?

现在serwer看起来像这样:

              {
             String clientSentence;
             String capitalizedSentence;
             ServerSocket welcomeSocket = new ServerSocket(19198);
             Socket connectionSocket = welcomeSocket.accept();
             while(true)
             {

                BufferedReader inFromClient =
                   new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
                DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());
                clientSentence = inFromClient.readLine();
                System.out.println("Received: " + clientSentence);
                capitalizedSentence = clientSentence.toUpperCase() + '\n';
                outToClient.writeBytes(capitalizedSentence);
             }


          }

1 个答案:

答案 0 :(得分:0)

您需要跟踪您的客户端及其套接字/流,然后您知道将消息发送到何处。您还需要为每个客户端启动一个新线程。

如果你谷歌用于Java聊天服务器,你可以找到很多例子......