gpt4 book ai didi

objective-c - 如何让套接字成为非阻塞的

转载 作者:可可西里 更新时间:2023-11-01 11:44:47 24 4
gpt4 key购买 nike

<分区>

我正在使用 Objective-C 编写一个简单的 Redis 客户端应用程序。为了与我的服务器上的 Redis 通信,我需要通过 SSH 连接到服务器,然后打开一个 TCP 套接字来来回发送数据。我正在尝试关注 example from libssh2.org, direct_tcpip.c我已经让它运作良好。我可以运行代码,它会说:

Waiting for TCP connection on... 0.0.0.0:6379

然后我尝试使用 telnet 与它通信:

telnet 0.0.0.0 6379

我可以通过这种方式成功地与 Redis 连接和交互,是的!

现在下一步是让我能够以编程方式与服务器对话并从我的应用程序的 UI 向它发送命令,但是当我调用 accept() 时程序被阻止并且是一直在等待连接进入。这是个问题,因为我需要以编程方式连接到它,但我似乎不知道该怎么做。

我尝试在 accept() 之前调用 libssh2_session_set_blocking(session, 0);,但这似乎没有任何改变。

我的目标是设置转发,以便我的应用程序可以尽可能轻松地与远程 Redis 服务器通信,而且我对套接字编程完全陌生。我需要 SSH 隧道,因为 Redis 没有内置安全性,建议您在内部与它通信。

感谢任何能为我指明正确方向的人!

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