如何在Tomcat上实现Java套接字通信

时间:2012-08-18 08:35:10

标签: java android sockets

我目前有一个TCP Java套接字通信实现,其中我有一个正在侦听端口的服务器(假设端口为5478)。然后我需要一个Android客户端远程连接到Java服务器并发送SQL查询,然后在服务器端数据库上执行,然后我想将结果列表发送回Android客户端(已经使用自定义实现)名为Result的Java类,它实现了Serializable)。我通过将结果的ArrayList发送到Android客户端来完成此操作。 Java服务器始终监听端口,并通过多个线程支持多个客户端。如何将此实现迁移到更安全的平台,最佳方法是什么?我不需要尊重HTTP协议来提供这种通信。 Tomcat是最好的解决方案吗?

由于

3 个答案:

答案 0 :(得分:0)

Tomcat是一个Servlet容器+ webserver。如果您打算转移到tomcat,那么您将隐式转移到http。是的,如果你想要一个安全的通信..你可以创建一个基于肥皂的webservice(apache轴)并在https上托管它。

答案 1 :(得分:0)

我会将Servlet3.0用作tomcat的一部分。

然后从android你只需要使用URL向服务器发送http请求,servlet可以对它们进行数据库化。如果需要,您也可以序列化数据。

我希望能回答你的问题。

〜丹

//编辑:

一旦设置了eclipse和tomcat,就可以开始编写servlet了。首先 - 您必须将服务器配置为对某些地址使用servlet,例如localhost:8080 / myServlet - 这意味着您发送到本地主机的任何内容都会触发servlet。您的第一个servlet的代码如下所示:

public class ExampServlet extends HttpServlet {

public void doPost(HttpServletRequest request, 
     HttpServletResponse response)
        throws ServletException, IOException
  {

当您对servlet正在侦听的地址执行http post请求时,会调用doPost方法。然后,所有你必须做的就是放入一些代码来读取请求以从消息体中获取数据。基本上,您读取了传入的请求对象,并写入响应对象以将响应发送回客户端。那里有很多指南。我跟着这样的事情开始了:

http://www.coreservlets.com/Apache-Tomcat-Tutorial/tomcat-7-with-eclipse.html

希望有所帮助:)

〜丹

答案 2 :(得分:0)

我不确定mutch附加安全性tomcat是如何为您的应用程序提供的。想到两声:

  1. 实施身份验证和一些访问规则。这不太难实施,在很大程度上取决于规则质量。但是,它可能有助于您使用它。它经常被自己的影响所取代。但是,要获得安全性,您需要加密,即https。或者可以加强会话并获得与之相关的权利。
  2. 请求文件映射。这实际上有点复杂。你不应该自己编写代码。它比第一眼看上去更复杂。
  3. 然而,最大的安全性之一是直接执行从某个地方获得的代码。例如SQL语句。只要您的数据库权限设置完美,它就是安全的...... 开发安全加密的协议也不简单。 但是,切换到tomcat(或其他)的主要胜利可能是免费的可扩展性。我认为实现servlet比编写套接字简单得多。使用http(s)有很多很棒的工具,虽然它可能比你的更复杂,但处理起来非常简单。

    不幸的是我无法回答我们的问题。我不知道什么是最好的解决方案。但我认为至少有一些获胜的潜力。