在端口上将可执行文件作为服务运行

在端口上将可执行文件作为服务运行

我有一个 C 程序(比如一个简单的队列系统),我对其进行编译并获得一个可执行文件。我想在 CentOS 系统上的特定 TCP 端口上将此可执行文件作为服务运行,我可以通过 telnet 连接到该端口并将其用作服务(发出 getHead、queue、dequeue 等命令)。我是否需要在 C 程序本身中对此进行编码,例如监听哪个端口?

我怎样才能实现这个目标?

答案1

是的——看看 apache 的 httpd、任何 ftp 服务器或 openssh 等示例。高级思想是创建一个套接字并将其绑定到 IP/端口组合,然后侦听传入连接。看https://en.m.wikipedia.org/wiki/Berkeley_sockets更多解释和代码示例。

答案2

该程序内网可能会提供您所需要的。您可以将其配置为每当有人连接到某个端口时启动您自己的程序。看看它的维基百科页面。如果您想使用 inetd,您自己的应用程序不需要了解网络内容。或者,您也可以使用套接字 API 自行完成网络部分,例如

相关内容