问题标签 [gcdasyncsocket]

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 回答
5041 浏览

iphone - GCDAsynSocketDelegate didReadData 方法未被调用。使用 GCDAsynSocket

我正在尝试使用 GCDAsyncSocket 简单地发送和接收消息,但无法使其正常工作。

我成功地建立了连接并编写了消息,但是在阅读我的代表时,我从来没有被调用过。

我正在使用 ios5 和这个设置:

客户:

未调用委托 didReadData 方法

服务器

向客户端写入消息并等待套接字连接成功的响应

这从来没有被称为...

0 投票
2 回答
1827 浏览

iphone - iPhone - 通过互联网的点对点连接

我正在构建一个使用与 Web 服务器的异步套接字连接的应用程序。为了发送大量数据,我想使用异步套接字将两部 iPhone 连接到对等连接中。我对 GCDAsyncSocket 比对 iOS SDK 套接字 API 更熟悉。

我做过类似的事情,但只有在本地网络中,我才会使用 NSNetService 发布存在并从 p2p 连接获取所需的地址。

你能给我一个关于如何使用 p2p 套接字连接通过互联网连接两个 iPhone 的提示吗?

0 投票
0 回答
1192 浏览

iphone - 无法使用 GCDAsyncSocket 分配内存错误

我正在尝试使用GCDAsyncSocket. 有时,套接字会因我无法消除的错误而断开连接:

2011-12-17 11:39:25.073 Hadza[433:707] socketDidDisconnect,错误:错误域=NSPOSIXErrorDomain 代码=12“无法分配内存”UserInfo=0x2aa260 {NSLocalizedFailureReason=write() 函数出错,NSLocalizedDescription=无法分配内存}

我一直在寻找任何地方,但我真的看不出这是什么原因,如何解决它或解决这个问题。

应用程序上传文件的流程如下:

  1. 写入服务器(一个 media_id )
  2. 从服务器读取 ACK 信号
  3. 读取已发送的字节数
  4. 从发送到末尾的字节写入视频
  5. 读取等待 ACK 信号(表示上传正常)
  6. 如果一切顺利,完成。如果出现错误,请根据错误从 1 或 3 重新启动。
0 投票
1 回答
2325 浏览

udp - 为 GCDAsyncUdpSocket 设置最大数据包大小

我正在使用 GCDAsyncUdpSocket 向多播组发送/接收数据。例如,在 GCDAsyncUdpSocket.m 文件中,我找到了下面的设置并将值更改为 32768。但我仍然无法接收任何大于 9216 字节的数据包。

有没有别的设置?

编辑:我发现 GCDAsyncUdpSocket 类确实提供了一种方法来设置这个值,称为 setMaxReceiveIPv4BufferSize。试过了,但它仍然只收到大约 9216 个字节。

0 投票
2 回答
414 浏览

cocoa - 为什么 EventMachine 出站数据缓冲区可能会停止发送并永远填满(而其他连接仍然可以发送)

我有一个 EventMachine 服务器将 TCP 数据发送到 Mac 客户端(通过 GCDAsyncSocket)。它总是在一段时间内完美无缺,但不可避免地服务器会突然停止逐个连接地发送数据。连接仍然保持,服务器仍然从客户端接收数据,但它并没有反过来。

发生这种情况时,我通过 connection#get_outbound_data_size 发现连接发送缓冲区正在无限填充(通过#send_data)并且没有发送到客户端。

是否有可能发生这种情况的具体(并且希望可以解决)原因?反应堆一直在嗡嗡作响,与服务器的其他活动连接继续正常工作(尽管它们有时也会陷入缓冲地狱)。

0 投票
1 回答
939 浏览

iphone - 如何使用 GCDAsyncSocket 发送二进制数据包

我已经使用 CGDAsyncSocket 创建了与硬件设备的连接,但现在下一步是将二进制数据发送到该设备,所以我很困惑如何构造该数据包,其描述如下

请帮助我在这一点上很奇怪

0 投票
3 回答
2344 浏览

objective-c - iOS 数据包长度

我正在编写一个小应用程序,它本质上是在 SOAP 中来回交换 XML。我有一个基于 OS X 的服务器和一个 iPad 客户端。我KissXML在客户端上使用,在服务器上使用内置的 XML 解析器。我使用GCDAsyncSocket两者进行交流。

当我在 iPad 模拟器上测试我的应用程序时,会出现完整的 XML。一切正常。

但是,当我使用我的开发设备(实际的物理 iPad)时,其他一切正常,但 XML 在第 1426 个字符之后终止。我已验证此错误发生在多台 iPad 上。

当我订阅GCDAsyncSocket我使用 的传入数据包时[sock readDataWithTimeout:-1 buffer:[NSMutableData new] bufferOffset:0 maxLength:0 tag:0];,以前只是一个简单的[sock readDataWithTimeout:-1 tag:0];但两者都有相同的结果。似乎 GCDAsyncSocket 无论如何都不应受到责备,因为在模拟器上执行很好。请注意,0atmaxLength表示“无限”缓冲区。

有谁知道是什么原因造成的?

0 投票
1 回答
2834 浏览

ios - 通过 GCDAsyncUdpSocket 发送多播 UDP 失败,Wireshark 中没有活动

它适用于任何已知的 IP,如下所示:

但是当我尝试使用宽带多播时,没有任何记录,也没有任何事情发生

接收工作正常,我也试过 255.255.255.255 - 一样。它没有给出任何错误。

0 投票
0 回答
2417 浏览

ios - Xcode GCDAsyncSocket 远程登录连接

我在开始使用 GCDAsyncSocket 以使用 telnet 连接时遇到问题。当我通过终端连接时,我收到一些文本,它要求我登录。使用 GCDAsyncSocket 我可以获得连接,但无法从中获取任何文本。

.

.

数据以 fffd01ff fd1ffffb 01fffb03 响应

响应始终为空。

0 投票
1 回答
2988 浏览

objective-c - GCDAsyncUdpSocket 多播获取 HTTP 412 响应

我正在构建一个发送多播消息 (SSDP) 并侦听来自实现该协议的设备的响应的 iOS 应用程序。我正在使用 GCDAsyncUdpSocket 创建 UDP 套接字来广播 SSDP 消息并接收响应。我遇到的问题是应用程序从网络上的所有设备接收到的消息是相同的:HTTP 412响应。

这是我的代码:

初始化套接字

创建套接字

数据接收回调

调用该didReceiveData函数时,我收到以下消息: