工具/软件:TI C/C++编译器
我们已成功实施 TCP 客户端、它正在连接到服务器并定期发送数据。
现在、我们正在同一应用程序中寻找 TCP 服务器来从服务器接收数据。
用于发送和接收的端口号不同。
您能不能建议如何在一个应用程序中实现 TCP 客户端和服务器。
请查找随附的代码以供参考、tcpHandler 作为客户端、tcpHandler2作为 Server.e2e.ti.com/.../tcpHandler.c
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:TI C/C++编译器
我们已成功实施 TCP 客户端、它正在连接到服务器并定期发送数据。
现在、我们正在同一应用程序中寻找 TCP 服务器来从服务器接收数据。
用于发送和接收的端口号不同。
您能不能建议如何在一个应用程序中实现 TCP 客户端和服务器。
请查找随附的代码以供参考、tcpHandler 作为客户端、tcpHandler2作为 Server.e2e.ti.com/.../tcpHandler.c
您好!
[引用用户="Veeraswamy kakita8"]
现在、我们正在同一应用程序中寻找 TCP 服务器来从服务器接收数据。
[/报价]
我有点困惑。 您的应用程序是 TCP 服务器(tcpHandler2)、您想连接到另一个"服务器"吗? 或者、您是否意味着要将外部客户端连接到 TCP 服务器(您的应用程序 tcpHandle2)? 通常,服务器等待来自客户端的传入连接。 我不知道如果两台服务器都在等待来自客户端的"接受"、如何相互通信。 在您详细说明您的意图后、如果您可能会看到什么、我可以将您的问题转交给我们的 NDK 专家。
您好!
[引用 user="Veeraswamy kakita8"]根据建议,禁用了 tcpHandler 任务并使用 tcpHandler2任务进行了测试,它不接受来自客户端的连接,也不与服务器建立连接。
您是否尝试过作为服务器应用程序的 tcpEcho 示例。 您能否尝试此示例并查看您的外部客户端是否可以连接到它?
[引用 user="Veeraswamy kakita8">单独的 tcpHandler 任务在一段空闲(>8分钟)时间后,连续向服务器发送数据,该任务未运行。 此时、器件甚至不发出 ping 命令
我不知道应用程序只运行8min 的问题是什么? 您是否有足够的堆栈和堆? 我需要将您的问题转交给我们的 NDK 专家。 同时、请使用 Wireshark 捕获故障时的流量。
Veeraswamy kakita8、您好!
除了 Charles 提出的问题之外、我还想知道您的 tcpHandler2任务到底是如何失败的-1。 它似乎在 Accept()失败。 您能否修改代码以打印接受中的 errno 值? 在 while 循环之后、它看起来是这样的:
system_printf ("Accept() errno value =%d"、errno);
再次请发送 Wireshark 捕获的故障案例、其中 tcpHandler 在8分钟后出现故障。
此致、
达尔顿
Veeraswamy kakita8、您好!
感谢您提供这些信息、但我认为我误解了一些内容。 60转换为 ETIMEDOUT,这对 connect()很有意义,但不接受()。 最重要的是,我认为 tcpHandler2()中只有-1个错误。 我在您提供的代码中看不到任何 connect()调用。 您能帮我清除这种困惑吗?
至于为什么 connect()会首先得到该错误代码,我认为我们需要检查 Wireshark 日志,以找出服务器没有响应的原因。
此致、
达尔顿