我需要运行一台服务器,该服务器可以:
Success的形式回复到客户端,否则回复为失败我不希望使用apache或任何其他主要的web服务器。即使是在端口上运行的简单脚本也可以。我知道python -m SimpleHTTPServer,但我想它只提供文件访问。
我可以编写一个运行在端口上的简单Java程序并进行回复,但我正在寻找一些简单的解决方案
发布于 2014-06-26 12:45:41
我可以想象的一个更简单的服务是从xinetd运行一个服务。它的优点是xinetd本身重量相对较轻,但仍然可以为您处理所有网络内容,包括日志记录和安全限制,如请求限制、TCP包装等。
当xinetd尚未安装时,安装xinetd,并定义像/etc/xinetd.d/helloworld这样的自定义服务:
service helloworld
{
disable = no
port = 1234
socket_type = stream
protocol = tcp
wait = no
user = nobody
server = /usr/local/bin/hello-world.sh
server_args = test
instances = 1
type = unlisted
}重新加载/重新启动xinetd,您可以使用telnet localhost 1234进行测试。
手册页面man xinetd.conf很好地描述了可用的选项。
发布于 2014-06-26 10:02:04
我会借助一些简单的nc命令在BASH中这样做:
#!/bin/bash
nc -k -l -p PORT > tempfile
while true
do
if cat tempfile | grep request;
then
# Execute checker script
# Reply back with nc
: > tempfile # Clear tempfile
fi
sleep 1
done这还需要使用nc设置客户端。也许在客户端上设置一个nc侦听命令也是接收成功回复的必要条件。
这个脚本还远远没有完成,您也应该为它编写客户机,但它可能会给您一些想法。
这里的基本内容是nc的使用。在它的帮助下,您可以建立简单的客户机-服务器架构。
发布于 2019-07-02 11:09:20
我在寻找类似的解决方案时遇到了这个问题:高露。
它允许基于HTTP调用触发许多任务,包括shell。
https://unix.stackexchange.com/questions/139311
复制相似问题