【发布时间】:2013-04-11 18:05:33
【问题描述】:
我需要编写一个小型服务器来处理来自 Android 应用程序的请求。 (用户向服务器发送一个数字,服务器对从每个用户接收到的数字进行一些数学运算 - 比如说平均值 - 并返回它)。
我刚刚阅读了 Oracle (http://docs.oracle.com/javase/tutorial/networking/sockets/clientServer.html) 的这个简单介绍。
它解释了如何让服务器监听特定的门。普通java,无需特殊应用(如Tomcat)。
我知道人们通常使用“servlet”(使用 Tomcat)来完成这类事情。这是为什么?有什么优势?我不能像那个简单教程中描述的那样编写一个示例服务器,并让它始终在计算机上运行吗?
【问题讨论】:
-
Servlet 在
Tomcat中运行。Tomcat是一个 HTTP 服务器。原始套接字就是这样。 -
@DarkCthulhu 将多线程添加到原始套接字服务器很简单。 (正确)实现 HTTP 协议并非易事。
-
同意。在任何情况下都没有必要重新发明轮子。
-
我不认为“多线程”和“琐碎”属于同一个句子。
-
@duffymo 点了。但是有这么多个已建立的模式来实现这种多线程。