0

我正在使用 TCP 套接字对服务器聊天进行编码。我实施了公共和私人信息。现在,我该如何制作频道?如何将通道与套接字客户端链接?我做了一个String[]这样的:

if (frase.startsWith("/make")) {
    //crea sala
    String[] privado = frase.split("\\s", 2);
    synchronized (this) {
        end = false;
        for (int i = 0; i < MAX && !end; i++){
            if (salas[i] == null) {
                canal = privado[1];
                salas[i] = canal;
                end = true;
            } else if (privado[1].startsWith(salas[i])) {
                salidaACliente.println("Ya existe " + privado[1] + "\n");
                end = true;
            }
            if (i == MAX - 1) {
                salidaACliente.println("Espacio de canales lleno.\n");
                end = true;
            }
        }
    }
}

例如:

  • 0-通道1
  • 1通道2

所有用户都可以使用命令查看创建的频道/seechannels

String[] salas = new salas[20];

但到目前为止,一个频道只是一个String. 我现在如何使用 将通道与套接字链接/join channel1

4

1 回答 1

0

例如,您可以在所有线程中创建一个数组,该数组存储用户所属的通道。

boolean joinedChannels[] = new Boolean[max_channels];

// Remember to intialize the array.

if (cmd == "/joinchannel") {            // cmd here is the issued command
   joinedChannels[args[0]] = true;      // args[] is an array of the arguments
                                        // following the command. This sets the
                                        // desired channel to be active.
} else if (cmd == "/leavechannel") {
   joinedChannels[args[0]] = false;     // And this here sets it inactive.
}
于 2013-12-09T14:43:24.807 回答