我正在尝试为我的程序创建一个聊天客户端,我想为每个聊天打开一个新窗口(A & B 不会与 A & C 在同一个窗口中)我有我想要的伪代码做,但不确定如何写。
聊天客户端:
inputstream.read()
Read who message from
If (chat window arleady open with person from)
{
Add Message to output section of the window
{
else if (chat window not open)
{
Open new chat window with person from
Display message in new chat window
}
为此,我想到的是将 IP 存储在一个数组中,然后每当客户端收到消息时,它都会查看数组以查看是否存储了 IP。如果是存储的,则窗口应该已经打开,否则需要打开窗口。我可以通过使用 JFrame 中的 defaultonclose 命令对此进行编程,以便在窗口关闭时调用 IP 的删除,但这是我遇到的问题。
- 一旦我在数组中搜索 IP 地址,如果窗口已经打开(假设我有 AB 和 C 与 D 交谈),我如何确保 C 发送一条消息,将其放置在 C 窗口中?
1.1 我考虑过产生一个新线程,命名线程,然后当有消息进入时将其传递到与名称匹配的线程,但我不知道该怎么做。我以前读过线程的名称,但从未将某些内容传递给特定的线程。
反正有没有下载额外的库更容易做到这一点?