3

另外我想知道单线程和多线程客户端服务器之间的主要区别是什么?我想创建一个客户端服务器聊天应用程序。

服务器表单包括: 1 Textarea(文本区域)(显示文本) 1 sendarea(文本区域)(键入要发送的文本) 1 个发送按钮(发送在 sendarea 中键入的文本)它发送到客户端 1 个退出按钮(关闭申请)

客户端表单包括: 1 Textarea(文本区域)(显示文本) 1 sendarea(文本区域)(键入要发送的文本) 1 个发送按钮(发送在 sendarea 中键入的文本)它发送到服务器 1 个退出按钮(关闭申请)

4

2 回答 2

2

单线程意味着 1 个线程。多线程意味着多线程。就您的聊天服务器而言,这意味着:

如果您有一个单线程服务器,则只能与服务器建立 1 个连接。多线程将允许您在每次新聊天客户端连接时创建一个新线程,并发出自己的输入/输出流来发送和接收聊天消息。

回显服务器只会从连接的 1 个客户端回显消息,而聊天服务器将允许您向其他用户广播消息并允许他们向您的客户端发送消息。

于 2012-05-02T06:42:45.343 回答
1

这听起来很像家庭作业,所以如果是,你应该这样标记。

回显服务器通常是一个应用程序,用于测试客户端和服务器之间的连接是否成功。它由一个服务器组成,该服务器发回客户端发送的任何文本。

客户端-服务器是任何环境,其中您有一个主节点(服务器),其他节点(客户端)连接到该主节点(服务器),通常是为了请求一些信息。

单线程服务器是使用 1 个主线程来处理所有请求的服务器。通常这些用于处理非常短的请求,例如同步计算机时钟。这些被称为迭代服务器。

多线程服务器是每个客户端使用一个或多个线程的服务器。大多数应用程序服务器通常都是这种情况,并且有利于可伸缩性。它还允许服务器在任何一个时间点处理多个客户端。这些被称为并发服务器。

我建议你看看这个Oracle 教程。它应该让你开始并指出你正确的方向。

于 2012-05-02T06:42:53.400 回答