问题标签 [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 回答
434 浏览

ios - CFStream Socket 发送数据包在 IOS 7.0 中未完成

我使用 CFStream Socket 向主机发送数据。第一次发送是工作。但首先,主机接收的数据总是被分散的。例如:

第一次发送:

好的,很好

第二次,第三次……

此症状仅在 IOS 7.0 中出现。6.0、5.0没有这个症状...

谢谢

0 投票
2 回答
6764 浏览

ios - 在 iOS SDK 中使用 Socket 编程的文本聊天应用程序

我想借助 iOS 中的“套接字编程”来实现文本聊天功能。我知道在主机和端口的帮助下连接到服务器的过程,例如:

但是我想知道如何在聊天期间在两个聊天用户之间建立套接字连接?

我必须在聊天用户之间使用服务器吗?

0 投票
2 回答
1725 浏览

tcp - How to create a NSInputStream/NSOutputStream pair by accepting a server socket?

I know that you can create a NSInputStream and NSOutputStream pair (toll-free bridged to CFReadStream, CFWriteStream) by opening a TCP client connection using CFStreamCreatePairWithSocketToHost according to the Stream Programming Guide.

How can one create a TCP server that listens on a port and accepts a connection as a NSInputStream and NSOutputStream pair?

0 投票
2 回答
574 浏览

ios - iOS 向 Web 服务器发送命令

全部,

我有一个 OBDII 设备,里面有一个网络服务器。我通过wifi连接。我想创建一个应用程序来发送命令并读取从设备接收到的数据。

我首先使用终端对其进行测试。我使用 telnet 会话连接并可以发送命令(0104)并得到响应。这工作正常。

现在,我想创建一个应用程序来做同样的事情。我知道我可以使用以下方式连接:

连接工作正常。
然后,我想发送一个命令。我用这个:

但我没有得到正确的答案,我得到一个?背部。所以设备无法识别命令......
我做错了什么?是不是格式不对?它不应该是一个字符串吗?还是应该不同于ASCII?

我已经尝试将 \r 放在命令的末尾,但这无济于事。

0 投票
2 回答
1426 浏览

macos - 有没有办法获得 CFStreamError 的字符串描述?

我正在使用一个给我的 API CFStreamError(据说它已被弃用,但苹果自己显然不在乎。)

我知道一些值,我当然可以编写多个嵌套的 switch 语句来将我知道的所有值转换为字符串,但是会有一些我不知道的值。

没有一些方便的方法来获取错误消息吗?我不在乎它是否已本地化,因为无论如何它只会出现在我们的日志中。

0 投票
1 回答
540 浏览

objective-c - 目标 c - 将图像文件写入 IP 地址

专家:

我整个上午都在研究如何通过 IP 地址将图像文件写入另一台计算机。我真的需要创建套接字、设置委托、安排运行循环、检查可用空间以及所有这些吗?真的吗?我不能只使用 IP 地址和默认端口将文件保存到 URL 吗?

我问这个问题是因为我自己并没有取得太大进展,而且我知道在我点击发布您的问题的那一刻,我会找到一些有用的信息。但如果没有发生,请回复。任何帮助表示赞赏。

这是我拥有的代码,我认为我走错了路:

0 投票
1 回答
4366 浏览

sockets - NSStream 在打开期间收到 NSStreamEventEndEncountered

我有一个使用 NSStream 连接的客户端 - 服务器应用程序。有时在尝试打开连接时,连接的一侧在第一次尝试发送消息时会收到 NSStreamEventEndEncountered。

我使用 CFStream 和 NSStream 之间的桥梁。我的服务器创建一个套接字:

在handleConnect 回调函数中,CFStreamCreatePairWithSocket用于获取两个CFStream。

我的客户端用于CFStreamCreatePairWithSocketToHost连接到主机。

客户端连接(创建 NSStreams)然后发送一个 ping。当我的服务器收到一个连接时,它会打开一个 NSStream,当它收到一个 ping 时它会发送一个 pong。

当一个连接关闭时,另一个应该得到一个 NSStreanEventEndEncountered,因为我kCFStreamPropertyShouldCloseNativeSocket在流上设置为 true。

我得到了几个不同的结果:我使用 NSLog 来查看发生了什么。

- 大多数情况下,连接会打开并按预期工作。

- 尝试发送乒乓球时连接关闭(NSStreamEventEndEncountered)。客户端没有收到 pong 但收到 NSStreamEventEndEncountered

- 尝试发送 ping 时连接关闭(NSStreamEventEndEncountered)。服务器没有收到 ping 或 NSStreamEventEndEncountered

- 尝试发送 ping 时收到错误:

客户端和服务器都在我的电脑上。为什么流在尝试写入时会得到 NSStreamEventEndEncountered?

0 投票
1 回答
460 浏览

ios - 设置 CFStream 属性失败

我正在尝试与 SNI 建立 TLS 连接。问题是第一个属性设置调用返回 1 表示它已被接受。以下两个返回0,表示没有通过。可能的原因是什么?

在某些时候,我必须添加自己的证书才能被信任,但据我了解,这将在打开流后完成,所以这里不应该是任何原因。

另外,是否kCFStreamSocketSecurityLevelNegotiatedSSL支持 tls1.2,因为没有常量可以直接选择它?

0 投票
1 回答
600 浏览

ios - 无法使用 CFWriteStream 写入

我已经创建了一个 UDP CFSocket,我可以在不使用任何文件句柄的情况下发送数据。但是,当我创建 CFReadStreamRef、CFWriteStreamRef 并使用它们发送数据时,它会失败。控件不返回。任何人都可以帮我解决这个问题吗?代码如下:

0 投票
1 回答
639 浏览

ios - 在iOS上查找Windows本地主机名的IP地址

我正在尝试在 iOS 上的本地 wifi 网络上查找 Windows 计算机的 IP(名为 TEST)以用于 smb 目的。我在这台 Windows 机器上安装了 bonjour,如果我在我的 mac(在同一个 wifi 网络上)的终端中键入以下命令:

我成功了('64 bytes from 10.0.1.19: icmp_seq=285 ttl=128 time=3.237 ms')。注意 ip (10.0.1.19):它正确解析了主机名!目前没有问题!

现在,我正在尝试使用 CFHostCreateWithName 在 iOS 上做同样的事情:

结果各不相同:

  • 首先它返回 2 个地址,它们都相同,而且是无意义的(不在 10.0.1.19 附近,通常以 8 开头)
  • 之后,没有结果,并且出现错误(err):err->domain = 12 和 err->error = 8。看起来像是某种形式的缓存,不确定...

所以主机解析在mac上很好,但在连接到同一网络的iOS设备上不起作用......我错过了什么吗?