问题标签 [cfstream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3213 浏览

objective-c - 如何为 SSL 握手配置 CFStream(或 NSStream)?

我正在使用 CFStream/NSStream 进行 http 连接。我希望能够检测到 SSL 握手在三种情况下失败:

  • 案例A:服务器不受信任
  • 案例 B:服务器受信任但要求客户端证书
  • 案例 C:服务器不受信任,它要求客户端证书

今天没有对我的 CFStream 的 SSL 属性做任何事情,我得到:

  • 案例A:错误-9807
  • 案例B:没有错误但服务器拒绝连接(错误500)
  • 案例 C:错误 9807

有没有办法配置 CFStream 以正确区分这三种情况?或者在 SSL 握手期间有一些回调?

谢谢你的帮助。

0 投票
0 回答
260 浏览

ios - 基于 CFSteam 的连接中的代理身份验证 (iOS)

我已经根据 CFNetwork 编程指南实现了基于 CFStream 的连接。如何获取经过身份验证的代理服务器的凭据?有没有一种方法可以让我获得系统对话框存储的共享用户名和密码,当在同一网络中使用 NSURLConnection 时会提示该对话框。

0 投票
3 回答
1227 浏览

c++ - 像访问文件流一样访问一块内存(/C/C++ 数组)

有没有办法在 C(或 C++)中做到这一点?

背景信息:我将逐行读取内存块或大文件并一次处理这些行,我懒得写两次相同的东西,一次用于内存块,一次用于文件流. 如果需要使用文件流版本,则该文件将不适合内存。可以理解的是,我可以将内存块保存到文件中,然后使用文件流访问相同的数据,但这似乎是在浪费计算机时间。

我知道 Linux 系统上的 /dev/shm 。有没有更便携的东西可以在语言层(C 或 C++)给我同样的抽象?

0 投票
0 回答
193 浏览

ios - 如何以编程方式更改 iPhone 中的工作目录(FTP)

我正在尝试与 iOS 中的 FTP 服务器建立 FTP 连接(基于身份验证)。为了保持登录状态,我列出了目录,如果目录列表计数为零,则登录不成功。

现在我的问题是,每当我登录时,根目录就是“romfs”,如红色圆圈中的屏幕截图所示,我希望该目录访问与红色矩形中突出显示的级别相同的其他目录。所以我使用正确的用户名/密码直接将 url 设置到这个目录。像这样

在此处输入图像描述

但它正在尝试列出 \romfs 文件夹所以我的问题是如何在 iOS 中以编程方式将工作目录从“romfs”更改为“ahci02:2”。

提前谢谢。

呸呸呸呸

0 投票
1 回答
1186 浏览

ios - NSStream关闭和打开错误

我正在使用 NSStream 通过网络连接发送和接收单个字符。
我使用CFStreamCreatePairWithSocketToCFHost(...).

发送和接收的基本工作机制工作正常。

现在我想NSStream只在需要发送或接收某些东西时创建(通常每 2 分钟一次)。我第一次创建流,发送数据包,关闭它,一切正常。接下来我尝试重新创建NSStream(创建一个新套接字并在其上打开流),打开功能不起作用。由于我netcat用来测试它,我看到当我使用[NSStream close]方法关闭流时,服务器上的连接没有关闭。如何强制关闭套接字?还是有更好的方法来做我想做的事情?

0 投票
1 回答
636 浏览

macos - MacOSX:创建具有特定客户端和服务器端口的 CFStream/NSStream

我正在尝试将(POSIX/winsocks)基于套接字的 TCP/IP 协议的客户端转换为本地 Mac OS X 框架。在这个协议下,一个客户端端口被设置在一个指定的端口,然后这个套接字在另一个端口连接到服务器。基本上(删除了错误检查):

当我使用这些功能时,我与运行在 MS Windows 上(或在 Wine 下)上的服务器建立了工作连接(尽管看起来我需要以与 winsocks 下有所不同的方式处理 ECONNREFUSED)。

我还可以将创建的套接字传递给 CFStreamCreatePairWithSocket 以获得功能性 NSInputStream、NSOutputStream 对:

是否可以直接创建该对,如果可以,如何创建?现在我只设法获得一个功能 NSInputStream 使用

使用高级 CFStream/NSStream 框架是否可能无法提供精细控制(客户端和服务器端口规范、超时规范等)?

0 投票
0 回答
740 浏览

ios - 当我更改 url 时 CFReadStreamCreateWithFTPURL() 崩溃

我正在使用以下代码从任何 ftp 服务器加载列表:

它完美地加载了列表。然后我在 UITableView 中显示列表。加载数据后,我将使用以下代码关闭流:

当用户点击任何单元格时,我试图加载该文件夹的列表(如果它是一个文件夹),否则我必须从 ftp 服务器下载文件。为此,我通过更改 url 使用此代码:

但是它在这条线上崩溃了:

在这一行给出EXC_BAD_ACCESS。我无法弄清楚原因。请帮帮我。

0 投票
0 回答
699 浏览

python - CFStreamCreatePairWithSocketToHost 仅适用于本地主机

我正在使用 CFStreamCreatePairWithSocketToHost 在我的服务器和 iPhone 之间创建一个套接字连接。但是,我发现这仅适用于 localhost,不适用于公共 IP 地址或 URL。

如果我在主机设置为 localhost 的 iOS 模拟器中运行我的应用程序,我可以正常连接。但是,如果我使用我的实际 iPhone 运行应用程序并将主机设置为我的服务器的 IP 地址,它就不起作用。该应用程序几乎冻结了一分钟,然后最终告诉我它无法连接到主机。

任何人都可以提供一些关于如何解决这个问题的提示吗?

0 投票
2 回答
532 浏览

ios - 使用公共 ip 时 CFStream 连接无法连接

我是iOS和Objective c的新手......在我的应用程序中,我正在使用CFStream建立到我的服务器的套接字连接..问题是当我使用本地IP(192.168.10.246)运行我的程序时,连接是已建立,但是当我用公共 ip 替换它时,视图会冻结并给出以下错误事件..

我目前正在模拟器上运行...

我的代码是..

我是否需要为公共 IP 添加一些额外的代码......或者它是网络连接中的某种防火墙问题还是 Xcode 中的设置?请帮忙!!!!

我附上了wireshark日志:我的目标公共IP是221.135.139.46 ....

0 投票
1 回答
718 浏览

ios - How to connect to public ip using CFStream in iOS

I am a beginner in iOS and objective C

I am using the following code in order to connect with the server... When i am connecting locally using the ip 192.168.10.246 the code works fine and it gets connected but when i try to use a public ip instead the view just freezes and doesn't connect to the server ....

I am using the tutorial given here by ray wenderlich

And my code is: