0

第 9.3.1 章中的优先级部分告诉我应该先应用特殊情况,然后再应用一般情况。

[General]
*.host[0].waitTime = 5ms   # specifics come first
*.host[3].waitTime = 6ms
*.host[*].waitTime = 10ms  # catch-all comes last

我在 omnetpp.ini 文件中有以下几行:

**.server[*].tcpApp[0].port = 1000

**.pods[0..1].**.server[*].tcpApp[0].port = 80

**.pods[2..3].**.server[*].tcpApp[0].port = 21

此代码有效,但在检查参数时每个服务器都有 1000,而不是特殊情况 80 和 21。所以我希望它看起来像这样:

**.pods[0..1].**.server[*].tcpApp[0].port = 80

**.pods[2..3].**.server[*].tcpApp[0].port = 21

**.server[*].tcpApp[0].port = 1000

然而,这会产生一个错误,其中包括我的服务器所基于的 StandardHost 模块的 TCP 模块中的空指针异常。

在 ned 文件中,参数声明如下:

    int port = default(1000); // port number to listen on

留下这个包罗万象的线路也会导致错误。只有在其他两行之上的最后一行才能让模拟运行。

可以在 INET 的 TCPServerHostApp.ned 中找到端口参数的示例。我想为应该在服务器上运行的不同服务分配不同的端口。

你对我有什么建议,正确应用这些参数?我设置参数的方式是否有错误,或者我是否需要在初始化过程中自己设置端口(这对我来说没有意义)?

编辑:业力系统还不允许我回答这个问题,所以这是我的问题的原因:

嗯,问题出在另一个地方。使用 connect(ipaddr, port) 连接新套接字时,我从作业请求消息中得到了错误的端口。

在流量生成模块中,我读取了错误的连接服务器的端口,这导致了错误,因为所使用的端口始终是默认值 = 1000 而不是 80 或 21。

服务器期望 80 或 21,当套接字尝试连接端口 1000 时导致崩溃。

4

1 回答 1

0

只想在这里添加这个,所以每个人都看到我发现了错误。

嗯,问题出在另一个地方。使用 连接新套接字时connect(ipaddr, port),我从作业请求消息中得到了错误的端口。

在流量生成模块中,我读取了错误的连接服务器的端口,这导致了错误,因为所使用的端口始终是默认端口(= 1000)而不是80 or 21.

80 or 21当套接字尝试连接时,服务器预期会导致崩溃1000

于 2012-04-04T20:35:56.563 回答