需要在HTML + JavaScript中的客户端与Java / C ++中的服务器端程序之间进行通信

时间:2014-04-11 21:53:52

标签: java javascript c++ html web

所以我需要开发一个网站,用户向服务器提供一些数据(通过HTML和JavaScipt),然后在服务器上处理数据。处理数据的程序很可能是一个Java / C ++程序(严重依赖第三方库的可用性,所以这个程序的语言并不完全在我的控制之下)。程序应该在服务器端执行,因为我预计它是计算密集型的(它根据用户提供的一些数据来解决优化问题)。程序完成处理后,结果将返回给用户,并以HTML格式显示。

我不完全确定如何在客户端和服务器之间进行通信。我一直在研究CGI(通用网关接口),但从我的阅读中看来,这些天它似乎已经过时了?有没有更好的CGI替代品?我读到这些天CGI可能会很慢,我需要一种能够提供足够快的处理时间的方法。

1 个答案:

答案 0 :(得分:1)

CGI是互联网的Crusty Granddaddy(真的如此)。从多线程未被考虑并且计算机带有8Mb内存的时代开始。你真的不应该使用它。

有很多选择。阅读Servlets阅读材料。他们允许这么多美好的事情。

现在,您必须考虑的是:用户是否愿意等待浏览器中的响应,或者您希望用户能够做其他事情,并告诉用户何时完成处理?< / p>

如果用户在服务器处理时无法执行任何操作并且连接上没有超时,那么您可以选择简单的HTTP POST或GET,然后转到更具挑战性的字段。

如果您希望用户能够执行其他操作,然后在完成此过程时收到通知,那么您有两个选择:

使用类似jQuery / ajax(https://api.jquery.com/category/ajax/

的内容

OR

允许用户浏览您的网站。对于用户请求的每个页面,还要检查结果是否准备好。如果结果准备就绪,则将其显示给用户。否则,妈妈就是这个词。您甚至可以做一些奇特的事情,因为显示还需要多长时间,或者还有多少步骤,以及用户取消该过程的机会。

我会选择jQuery,但这是我个人的选择。