gpt4 book ai didi

ios - 基本客户端/服务器示例代码适用于 iOS 模拟器,但不适用于设备

转载 作者:行者123 更新时间:2023-11-28 17:35:56 25 4
gpt4 key购买 nike

我正在处理 Beej's socket tutorial .我使用示例代码创建了一个简单的服务器 iOS 应用程序和一个在我的桌面上运行的简单客户端。

当我在 iOS 模拟器上运行服务器时,一切正常。我从 OS X 终端向服务器发出请求并收到预期的 Hello, world! 响应:

$ g++ client.cpp
./a.out localhost
client: connecting to 127.0.0.1
client: received numbytes 13
client: received 'Hello, world!'

然而,当我在设备上运行服务器应用程序时,我收到了一个奇怪的响应:

$ ./a.out 192.168.1.2
client: connecting to 192.168.1.2
client: received numbytes 0
client: received ''

我修改了示例代码以将所有错误打印到控制台。不幸的是,我在模拟器或设备上运行时没有看到任何错误。

我是网络编程的新手。也许我的无线路由器正在阻止发送字节? 非常感谢任何调试提示。

我还尝试使用 telnet 与设备和模拟器对话:

$ telnet 192.168.1.2 3490
Trying 192.168.1.2...
Connected to 192.168.1.2.
Escape character is '^]'.
Connection closed by foreign host.

$ telnet localhost 3490
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Hello, world!Connection closed by foreign host.

看似相似的结果(在模拟器上运行返回预期的结果,而在设备上运行没有返回任何结果)。

最佳答案

打印发送的字节数有帮助。它强调了 send() 没有被调用的事实。注释 if (!fork()) { 检查会导致按预期发送和接收字节。现在了解上述检查的目的以及为什么它在模拟器和设备上返回不同的结果。

关于ios - 基本客户端/服务器示例代码适用于 iOS 模拟器,但不适用于设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9817008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com