我正在尝试编写一个程序,该程序将测试Linux端口以查看它是否正在侦听。该程序在Windows机器上运行,端口号可以根据所选服务的不同而变化。我需要使用Windows服务文件查找端口号。下面是我的步骤:
define input parameter ip-network-id as char no-undo.
DEFINE VARIABLE hSocket AS HANDLE NO-UNDO.
DEFINE VARIABLE cService AS CHARACTER NO-UNDO.
DEFINE VARIABLE cHostName AS CHARACTER NO-UNDO.
DEFINE VARIABLE lResult AS LOGICAL NO-UNDO.
CREATE SOCKET hSocket.
GET-KEY-VALUE SECTION "DATABASE" KEY "dbhostname" VALUE cHostName.
ASSIGN
cService = "txipd" + ip-network-id /*ip-network-id = "fis" */
lResult = hSocket:CONNECT("-H " + cHostName + " -S " + cService) NO-ERROR.
IF lResult THEN do:
MESSAGE cHostName "is accepting Cilent/Server connections on" cService " ."
VIEW-AS ALERT-BOX INFO BUTTONS OK.
/* Once done with the database disconnect and delete the object */
hSocket:DISCONNECT() NO-ERROR.
DELETE OBJECT hSocket NO-ERROR.
end.
Else
MESSAGE "The Database is not listening on this port" cService lResult cHostName
VIEW-AS ALERT-BOX INFO BUTTONS OK.我的Windows服务文件包含以下条目:
txipdfis 31357/tcpip-network-id可能等于从浏览中选择的许多选项之一,服务txipdfis可能位于不同的端口号上,这取决于特定安装的设置方式,因此我需要在Windows服务文件中查找"txipdfis“以确定正确的端口号。这个是可能的吗?
发布于 2019-01-24 03:59:17
windows服务文件的最后一行没有空行。一旦我在最后用CRLF更新了服务文件,我就能够连接了。
https://stackoverflow.com/questions/54010332
复制相似问题