- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
一个是GCD另一个是Runloop?很抽象,我的TCP连接怎么选择?非常感谢,我只在github上找到了如何使用GCDAsyncSocket,但不知道如何选择。
最佳答案
希望对你有帮助:
Even if you're on iOS only, there will likely be multi-core iOS devices in the near future. And GCD will be an excellent way to take advantage of the additional resources with GCDAsyncSocket
GCDAsyncSocket
GCDAsyncSocket 最低要求:Mac OS X 10.6+ 或 iOS 4.0+
GCDAsyncSocket 的性能比 AsyncSocket 好得多。
考虑将加密/解密(不是 SSL/TLS)卸载到另一个线程上,在我看来,采用 GCD 的方式是更好的选择。
GCDAsyncSocket 的具体功能包括:
1. Classic delegate-style support.
2. It allows allows for parallel socket IO and data processing, as well as easy thread-safety.
3. Queued non-blocking reads and writes, with optional timeouts.
4. Automatic support for IPv4 and IPv6.
5. SSL/TLS support.
6. Built upon the latest technologies such as queues and GCD.
7. Self-contained in one class.
You don't need to muck around with streams or sockets. The class handles all of that.
AsyncSocket
AsyncSocket 库由一个类组成,也称为AsyncSocket。 AsyncSocket 的一个实例代表一个套接字,它可以是一个监听套接字或一个连接套接字。
如果您需要支持 Mac OS X 10.6+ 或 iOS 4.0+ 之前的操作系统版本,那么您现在需要坚持使用 AsyncSocket。
<AsyncSocket 提供易于集成的“即发即弃”网络,使您的应用程序可以轻松支持网络。
功能包括:
• Queued non-blocking reads and writes, with timeouts.
• Automatic socket acceptance.
• Delegate support.
• Run-loop based, not thread based.
• Self-contained in one class. You do not need to muck around with a collection of stream or socket instances. The class handles all of that.
• Support for TCP streams. AsyncSocket does not support UDP or multicast sockets.
• Based on Apple’s own CFSocket and CFStream Carbon APIs.
关于ios - GCDAsyncSocket 和 AsyncSocket 有什么不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38237286/
我正在使用(或尝试...)AsyncSocket 连接到服务器,但即使服务器未运行它也始终会连接...我正在使用 SDK 3.1.2。有人以前遇到过这个问题吗? #import "mluPresent
我正在尝试使用以下代码捕获来自.NET服务器的响应。 进行telnet测试有效(我得到响应);但是,使用此代码,我没有得到回应。 -(IBAction)connectClicked:(id)sende
我写了一个 TCP 套接字服务器。一般来说,我希望有以下行为: A Listening Socket can accept N Connections (There a multiple Listen
与使用(双向)NetworkStream 的异步 IO 相关,MSDN说“每次调用 BeginRead 都必须调用一次 EndRead。” 即使对于 EndRead() 将抛出异常的情况,例如在发出
我在尝试使用 AsyncSocket 时遇到了一个奇怪的问题。在我的应用程序中,我实际上需要同步套接字,因为我自己在不同的级别上处理后台的所有通信。所以我尝试围绕 AsyncSocket 类 Sync
我正在尝试从另一个类启动套接字(不在“applicationDidFinishLaunching”中),因此,在 AppDelegate.m 中,我调用类 netClass: - (void)appl
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
是否可以使用 AsyncSocket 执行以下操作: while (“响应包”未被读取) do { 从读取流中读取至少前 5 个字节,并从中提取“响应数据包”长度大小。 继续阅读,直到达到“响应数据包
我是 AsyncSocket 的新手,我正拼命尝试让它连接到端口 5222 (xmpp) 上的 Facebook 聊天服务器 (chat.facebook.com),它做得很好。在 facebook
我已经在 iPad 上测试了此代码: // execute the function when press button - (IBAction)connect:(id)sender { //
我在 iPhone 上使用 AsyncSocket 与服务器通信。 AsyncSocket 基于运行循环,但我的应用程序基于线程。这意味着,我启动一个新线程来写入数据并等待,直到在同一线程上收到响应。
我一直使用 cocoaasyncsocket 作为使用 asyncsocket 的 Windows .net 服务器的客户端。我正在使用 ProtocolBuffers 编码消息。这些共同构成了一套很
我正在使用 asyncsocket 创建与 Objective C 的套接字连接。我使用“connectToHost”方法来执行此操作。我正在尝试处理套接字连接失败的情况。当连接成功时,“connec
GCDAsyncSocket 和 AsyncSocket 标题都声明它们是异步的,两者看起来很相似。然而,关于套接字的所有内容都是关于处理来自 TCP 数据包的无限长度的单个连续流。起初,我有点困惑,
我正在 iOS 中开发 Asyncsocket 客户端。 https://github.com/robbiehanson/CocoaAsyncSocket 我怎么知道服务器和客户端之间的套接字连接何时
我正在尝试编写一个应用程序以通过 CocoaAsyncSocket 库发送/接收数据。 在应用程序的第一个版本中,套接字是在 View Controller 中创建/初始化的,我还在其中放置了正确调用
一个是GCD另一个是Runloop?很抽象,我的TCP连接怎么选择?非常感谢,我只在github上找到了如何使用GCDAsyncSocket,但不知道如何选择。 最佳答案 希望对你有帮助: Even
我使用 GCDAsyncSocket 让 iPhone 客户端连接到服务器。服务器在 Windows 服务器上运行 .Net。连接很好,发送数据也很好。 然后我告诉客户端在发送后直接进入接收... [
我已经尝试过 NSTask > NSData 方法,但是对于超过 1GB 的任何内容,CPU/内存开销都非常大,因此我需要找到一种方法来执行此操作,例如 FTP 服务器可以做到这一点。 编辑:远程桌面
我已经使用 ASyncSocket 成功地将我的服务器连接到套接字连接。现在我正在尝试进行 SSL 握手以使用 SSL 连接服务器。知道如何进行吗? 最佳答案 AsyncSocket 的 Connec
我是一名优秀的程序员,十分优秀!