全部。
我使用开源库 stlplus 进行 tcp 消息传递。接下来是我的工作计划。
我有服务器应用程序和客户端应用程序。它们都可以运行并等待对方出现,然后连接并交换消息。使用服务器 IP 地址和端口号创建连接。
在我的有线本地网络中,一切正常。如果仅运行一个程序(这似乎很明显,但请进一步阅读)并且连接时交换消息没有任何问题,则程序不会连接。
之后我决定在无线网络中测试它们。所以我在一个笔记本上创建了托管网络,并从另一个笔记本上连接到它。我还创建了两台计算机的家庭组。计算机之间的 Ping(IP 和端口)正常。我什至可以使用 Windows 的 msg.exe 发送消息。
现在是问题所在。客户端程序说(写入日志)它连接到服务器,甚至在服务器未运行时发送消息。这个怎么可能?我可以省略哪些设置?长期在有线网络中使用,未发现此类问题。
我什至在防火墙中制定了特殊的允许规则,甚至将其完全关闭后,但情况仍然如此。
我不知道接下来要检查或做什么。
我用这段代码做了最简单的硬编码示例,结果是一样的(((
我无限地得到“连接”这个词//======================================== ====================
#include <iostream>
// stlplus
#include "portability.hpp"
#include "strings.hpp"
using namespace stlplus;
int INI_TCP_TIMEOUT = 10000000;
int main (int argc, char* argv[])
{
stlplus::TCP_client tcpClient("192.168.173.1", 139, INI_TCP_TIMEOUT);
if (false == tcpClient.initialised() )
{
std::cout << "client: retry";
return 0;
}
if (false == tcpClient.connected())
{
std::cout << "client: retry";
return 0;
}
while (true == tcpClient.connected())
{
std::cout << "connected; \n";
}
return 0;
}