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

iphone - 断开 GCDAsyncSocket 时出现异常

我刚开始使用 GCDAsyncSocket 连接到我的服务器。客户端和服务器之间的通信正常,但是当服务器(vb.net 应用程序)断开连接时,客户端(Xcode iOS)中出现以下异常:

* 由于未捕获的异常'NSMallocException'而终止应用程序,原因:'-[NSConcreteMutableData appendBytes:length:]: unable to allocate memory for length (4294967295)' * * First throw call stack: (0x16f9012 0x151ee7e 0x16f8deb 0xf2d39e 0xf2cf76 0x2b74f 0x2bd5b 0x175764b 0x16c08fd 0x16c087a 0x16c06ac 0x16c04e7 0x17f855 0x17f926 0x17e2bf 0x182098 0x181ca5 0x1823ff 0x182370 0x7ed53 0x7e59d 0x7e4d0 0x16b9aa8 0x167cf3f 0x167c96f 0x169f734 0x169ef44 0x169ee1b 0x272d7e3 0x272d668 0x462ffc 0x2102 0x2035 0x1) libc++abi.dylib:终止调用抛出异常

我的 GCDAsyncSocket 连接块如下所示:

任何人都可以给我一个提示这个问题吗?

先感谢您!

问候塞巴斯蒂安

0 投票
0 回答
434 浏览

iphone - GCDAsyncSocket "didReadDataWithTag" 从未使用 NSOperation 子类调用

在一些 XIB 文件的“getMyFile”方法中。
我正在创建“A”类(NSOperation 的子类)的对象并将其添加到“myFileQueue”(NSOperationQueue 的对象)中。

问题:在任何情况下都不会调用 didReadDataWithTag" 委托。

0 投票
1 回答
233 浏览

ios - 字符串不会显示在 UITextView

我似乎无法UITextView显示一个字符串,在这种情况下是combined变量。

这是我的代码:

有什么想法可能是错的吗?

0 投票
1 回答
556 浏览

ios - Obj-C:如何使 GCDAsyncUdpSocket 中的 UDP 数据包的源端口一致?源端口一直在变化

我使用以下代码来创建 UDP 数据包。我使用 bindToPort 来设置源端口。

然而,!发现只有在我第一次浏览这些代码时才能获得正确的源端口。休息时间,都错了!!我绑定到端口应该是7701

Wireshark 捕获的图像

问题:

如何在 GCDAsyncUdpSocket 中使 UDP 数据包的源端口一致?

0 投票
1 回答
1027 浏览

objective-c - 如何让我的线程等到 GCDAsyncSocket 或 AsyncSocket 响应我?

当我为 Objective-C 找到 TCP/IP 通信库时,人们建议我使用 GCDAsyncSocket。累了,可以用GCDAsyncSocket建立TCP连接,发送数据包。

但是,我的项目有一个过程列表。我必须等待连接建立,然后发送 IP 包 1,读取响应数据,发送 IP 包 2,读取响应数据......如下代码:

我必须等待 IP 委托函数返回给我一些东西。

问题:

如何让我的线程等待 GCDAsyncSocket 响应?还是有其他解决方案?就像用其他东西替换 GCDAsyncSocket 或 AsyncSocket 一样?

0 投票
1 回答
98 浏览

ios - 有什么简单的工具可以帮助我测试 IP 会话吗?

问题陈述:

我有一个关于与硬件 IP 主机建立 IP 会话的 iOS 项目。只有当应用程序发送正确的 IP 数据包时,硬件才会响应我的 iOS 应用程序。但是,硬件也在由其他团队开发。我目前无法使硬件处于调试模式。但是我可以使用 Wireshark 来捕获 IP 数据包。

问题是我无法触发任何 GCDAsyncSocket 或 AsyncUdpSocket 的 TCP UDP 委托协议功能。喜欢:

问题:

是否有任何工具可以帮助我在从 iOS App 接收到 App IP 数据包后手动响应 IP 数据包?我需要验证我的 iOS 代码是否正常。


编辑:
我忘了提到我使用 Netcat 接收数据包:

但是,它无法回复我任何东西。

0 投票
1 回答
4905 浏览

ssl - 带有 SSL 的 GCDAsyncSocket

我运行一个接受 Socket 或 SSLSocket 连接(不同端口)的 Java 服务器。在客户端,我在我的 iPhone 应用程序中使用 GCDAsyncSocket 连接到服务器。如果我使用不安全的版本(无 SSL),它可以正常工作。

现在我尝试使用 SSL 进行连接。这个怎么做?我完全不知道从哪里开始。我的问题:

1)我需要什么样的证书?Android 应用程序使用 .bks 证书在同一台服务器上运行良好

2) 如何将证书导入我的应用程序?我希望它稍后通过 AppStore 分发。我是否必须将证书文件放在应用程序的某个目录中?

3)我在哪里加载代码中的证书?有没有类似的方法 - (void)loadCertificate { NSString *myCertificate = @"client.bks"; ... }

4)我必须设置哪些参数才能激活 GCDAsyncSocket 中的 SSL,smth like BOOL useSSL = true; ...

5) 假设问题 1-4 已回答。现在怎么办?如何启动与服务器的连接?使用哪个构造函数和哪个参数?

如果有人问“为什么使用 SSLSocket 而不是……”。因为服务器已经在那里,并且它与 Android 应用程序配合得很好。

谢谢您的帮助!

0 投票
1 回答
572 浏览

ios - iOS - 调用 dispatch_async 时没有堆栈跟踪

我创建了一些示例代码来演示我的问题。

当我调用测试方法时,我没有得到堆栈跟踪。调试器在 main.m 处停止并突出显示该行

如果我删除 dispatch_async 并调用 handler(); 然后我确实得到了堆栈跟踪。有人可以解释为什么会这样吗?有没有办法获得更具描述性的堆栈跟踪?

现在我正在使用 Flurry 向我展示崩溃,但它向我展示的崩溃并不是很有用,因为我得到了一个非常非描述性的堆栈跟踪(这是符号化的)。它看起来像这样:

0 投票
0 回答
615 浏览

ssl - 握手 GCDAsyncSocket

我在我的 iPhone 应用程序中使用 GCDAsyncSocket 类与 Java 服务器进行通信。它在没有 SSL 的情况下运行良好。有人知道如何使用自签名证书激活 SSL 吗?我找不到如何在代码中导入我的证书。

请帮忙,几天前迷路了,找不到出路。

0 投票
1 回答
1440 浏览

ios - GCDAsyncSocket - 我如何让它连接?

这是我的objective-c 代码...我已经尝试过也被注释掉的代码,但没有运气。我只是想让它连接起来。

当我运行它时,这就是我得到的全部......

在服务器端,我使用的是 echo-server 的简单实现(可以在https://github.com/zappala/python-networking-and-threading/blob/master/echo-server/echoserver.py找到) . 我知道客户端和服务器(192.168.2.5)之间的物理连接很好,因为当我从客户端计算机运行 echoclient.py 时它工作得很好。