我正在询问哪种编程语言对于以下情况是最可接受的。
该程序将充当TCP网络应用程序中的服务器,使用预先编写的框架为输出到浏览器的JavaScript客户端提供服务。
服务器程序需要“始终在线”,并且能够处理JSON。
我的第一反应是使用PHP,因为它可以运行相同的web服务器,并且具有预先存在的JSON和TCP功能。有没有一种方法可以在服务器上运行PHP脚本,而不需要打开浏览器来“触发”脚本执行?-脚本必须连续运行几个小时而不会超时。
其他被考虑的语言是C#、C++、Java。
提前谢谢。
发布于 2010-09-21 17:45:05
node.js
主页上的第一个示例显示了在其中构建服务器是多么容易
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(8124, "127.0.0.1");
console.log('Server running at http://127.0.0.1:8124/');发布于 2010-09-21 17:41:04
任何东西都可以发出一个请求来触发PHP脚本的执行,它不一定是浏览器。例如,cron作业可以简单地请求一个特定的页面,然后它将被执行。或者它可以execute it directly。
发布于 2010-09-21 20:56:54
看起来你正在尝试运行一个php脚本来将数据实时推送到浏览器。PHP不适合这样做,因为它是io阻塞的,当没有足够的可用线程时,它会变得非常慢/崩溃。从可伸缩性的角度来看,这使得它变得非常糟糕。Java是这方面的理想选择,因为它提供了控制线程处理方式的能力。如果您确实希望将数据实时推送到您的浏览器,那么xhr长轮询就是您想要的。到目前为止,APE-server是我找到的最好的解决方案:
http://www.ape-project.org/
顺便说一下,你可以在没有浏览器的情况下在服务器端运行php脚本。对于linux系统,您将需要php-cli来执行此操作。要获得php-cli,在终端中,键入sudo -s,按回车键,键入您的密码,按回车键,键入sudo apt-get install php-cli,按y,然后再次按回车键。然后,在与您的php文件相同的目录下创建一个名为yourfilename.run的文件,并在.run文件中插入以下内容:
php -f name_of_php_file.php
允许文件在终端执行(右键选择),然后双击在终端打开。瞧,你的脚本在没有浏览器的情况下运行。
但是,如果你想把数据实时推送到浏览器上,php不是一个好的选择。花点时间研究一下ape-server。
https://stackoverflow.com/questions/3758990
复制相似问题