java中的echo-server和客户端 - 服务器聊天应用程序有什么区别?

时间:2012-05-02 06:32:40

标签: java client-server

另外,我想知道Single Threaded和MultiThreaded Client-Server之间的主要区别是什么? 我想创建一个客户端服务器聊天应用程序。

服务器表单包括: 1 Textarea(文本区域)(显示文字) 1 sendarea(文本区域)(键入要发送的文本) 1发送给客户端的发送按钮(发送在sendarea中输入的文本) 1退出按钮(关闭应用程序)

客户表格包括: 1 Textarea(文本区域)(显示文字) 1 sendarea(文本区域)(键入要发送的文本) 1发送到服务器的发送按钮(发送在sendarea中输入的文本) 1退出按钮(关闭应用程序)

2 个答案:

答案 0 :(得分:2)

单线程表示1个线程。多线程意味着多线程。这对您的聊天服务器意味着:

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

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

答案 1 :(得分:1)

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

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

客户端 - 服务器是您拥有其他节点(客户端)连接到的主节点(服务器)的任何环境,通常用于请求某些信息。

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

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

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