问题标签 [cocoaasyncsocket]

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

ios - 从 CocoaAsyncSocket 开始

我一直在寻找通过 TCP 将文件(iphone 上录制的小声音)发送到服务器以及从服务器发送到其他设备的方法。似乎最简单的方法是使用 CocoaAsyncSocket 项目。(是真的吗?)

然而,虽然我可以找到许多关于如何使用它的示例,但我找不到关于如何安装它的单一解释。

我对 iOS 和 Xcode 还比较陌生,而且很迷茫。有人可以向我解释如何获得图书馆吗?(我知道如何在我的项目中添加一个库,但是我只通过 gitHub 找到了 .m 文件的下载)

谢谢

0 投票
1 回答
203 浏览

objective-c - CocoaAsyncTask 无法连接真实设备

我正在使用 CocoaAsyncTask 并尝试连接到本地主机。当我从模拟器运行它时,它可以工作(我正在使用提供的回显服务器检查它)但是当我在实际设备上运行它时,什么也没有发生......代码是:

有任何想法吗?谢谢!

0 投票
0 回答
647 浏览

cocoa-touch - GCDAsyncUdpSocket 通过 Internet 进行的 UDP 通信

我在互联网上使用 GCDAsyncUdpSocket 时遇到问题。当我在本地计算机上进行测试时,一切正常。

我尝试在使用 3G 密钥连接到互联网的计算机和通过 wifi 连接的 Ipod 之间发送 UDP 消息。不幸的是,消息没有被传输。我尝试使用 GCDAsyncUdpSocket 的示例进行相同的测试:UdpEchoClient 和 UdpEchoServer,但它也无法正常工作。

要知道我的电脑的地址 IP 用 3G 密钥,我查看了系统偏好设置 -> 网络,我还查看了http://whatismyipaddress.com/,我看到地址不同。两者都不起作用。

我通过 wifi 连接的 Ipod 在 NAT/防火墙后面,但根据这个网站:https ://www.gotroot.com/blogpost4-Why-your-should-never-forward-UDP-out-of-your-firewall它应该不是问题。

是否可以在不打开任何端口的情况下在 2 个设备之间发送消息?为什么我的3G电脑上有两个不同的IP地址?

0 投票
1 回答
352 浏览

iphone - Cocos2d 和 CocoaAsyncSocket

请帮我解决这个问题:

1 - 我创建一个 Cocos2d 项目,添加 CFNetwork.framework。

2 - 我将 CocoaAsyncSocket 库中的 GCDAsyncUdpSocket.h 和 GCDAsyncUdpSocket.m 添加到我的项目中

3 - 建造。

--->我有201错误??????.(虽然我什么都不做)。我只是从 CocoaAsyncSocket 库中添加 GCDAsyncUdpSocket.h 和 GCDAsyncUdpSocket.m 并构建。所有错误都发生在 GCDAsyncUdpSocket.m 中。

但如果我改变:

1 - 我创建一个 View 基础应用程序项目(不是 cocos2d 项目),添加 CFNetwork.framework。

2 - 我将 CocoaAsyncSocket 库中的 GCDAsyncUdpSocket.h 和 GCDAsyncUdpSocket.m 添加到我的项目中

3 - 建造。

--->>>没关系,我可以使用 GCDAsyncUdpSocket 。

如何为 cocos2d 项目添加 CocoaAsyncSocket 库(GCDAsyncUdpSocket.h 和 GCDAsyncUdpSocket.m)?

请帮我....

0 投票
1 回答
379 浏览

objective-c - Asyncsocket:没有本地或远程地址

我正在尝试建立到本地服务器的 TCP 连接,并且由于几乎每个人都同意 Asyncsocket 是要走的路,所以我也去了。但是,我遇到了最基本的问题:Asyncsocket 实例没有本地或远程地址。我没有太多代码,但这就是我所拥有的:

以下显示在控制台中(来自 onSocketWillConnect 中的 NSLog):

AsyncSocket 0x298de0 local nowhere remote nowhere has queued 0 reads 0 writes, no current read, no current write, read stream 0x299720 not open, write stream 0x299aa0 not open, not connected

在它说“无处”的地方,它当然应该有 IP 地址,但它没有。从网上的例子看,我的代码很好,但是当我在两台电脑和我的手机上运行时,我得到了这个“无处”的东西,所以我可能做错了什么。有人有想法吗?

谢谢!

编辑:为了澄清:如果我使用错误报告(通过将 NSError 实例传递给“connectToHost:onPort:error”和 NSLogging ),我得到的只是(null).

0 投票
1 回答
241 浏览

iphone - CocoaAsyncSockets 在应用程序启动时创建连接但从视图中读取/写入

我正在使用 CocoaAsyncSockets 库来在我的应用程序中创建一个 tcp 套接字连接。目前,我已通过在 appDelegate.m 文件中的 didFinishLaunchingWithOptions 方法中打开套接字连接来成功创建连接。我的代码如下所示:

这是我的连接方法:

现在,我一直在苦苦挣扎的是如何在我的视图中使用读/写方法,而无需重新建立连接。

  • 我在应用程序启动时建立了一个 tcp 套接字连接
  • 我在 didFinishLaunchWithOptions 方法中打开套接字,以便我可以创建连接并在我的应用程序运行的整个过程中保持连接
  • 我不知道如何从我的视图中读取/写入服务器
  • 我对 socket/iOS 开发很陌生,所以我希望有最简单的解决方案

我会很感激我能得到的任何帮助。我对 iOS 还是很陌生,并且还在学习语法,所以任何人都可以提供的细节越多,我就会越好。

非常感谢你的帮忙!

0 投票
1 回答
5126 浏览

iphone - 如何使用 CocoaAsyncSocket 读取数据?

我在我的 appDelegate方法中创建了一个TCP 套接字连接。didFinishLaunchingWithOptions这很容易,我已经成功连接到我的服务器。在我的视图中从服务器读取数据时遇到很大困难。我一直在浏览有关如何使用CocoaAsyncSocket适当(逐步)读取数据的教程,但我没有遇到任何有用的东西。

这是我的 appDelegate 中的代码:

这是我的连接方法,位于 appDelegate 文件的底部:

那是容易的部分。我现在需要从服务器读取数据。我知道需要创建某种NSDataNSMutableData对象来获取我从服务器读取的数据的值。我只是在找到任何指导我正确方向的教程或文档方面非常不成功。有几种不同的读取功能,一些具有不同的参数等。如果有人能指出我深入了解这个的资源*(我是新手,毕竟=P)*我真的很感激 - 或者如果有人知道实现此目标的简单方法,并且不介意在此处提供示例代码:D

这是我正在使用的库: CocoaAsyncSocket。我正在使用图书馆AsyncSocket.hAsyncSocket.m

我已经坚持了几个小时,所以任何帮助将不胜感激。

谢谢!

0 投票
1 回答
954 浏览

android - Cocoa 异步套接字 java 实现

在一个 iPhone 项目中,我正在使用我在这里找到的 AsyncUdpSocket 和 AsyncSocket 。

你知道Android是否有类似的东西?

我试图在谷歌上搜索这些类的 java 版本,但我没有找到任何。顺便说一句,我搜索了这个“AsyncUdpSocket.java”。

我还发现了一些关于NIO库的信息,但我不知道我是否可以在 Android 上使用它。

0 投票
1 回答
471 浏览

objective-c - 使用 CocoaAsyncSocket 读取数据返回空白

我使用 CocoaAsyncSocket 创建了一个 TCP 套接字连接,每当我尝试执行 didReadData 时,我都会返回空白。当我设置断点并尝试调试时,我发现“msg”的值是@“”。

这就是我的 appDelegate.m 的样子:

这是我的 onSocket:socket didReadData:data withTag: 方法:

请注意,此方法是来自 CocoaAsyncLibrary 的方法。我不知道我是否正确调用了该方法,或者我是否没有传递正确的参数,或者什么。

当我运行该应用程序时,我在控制台中看到的只是:

非常感谢任何和所有帮助。

谢谢!

编辑

这是我现在的 didFinishLaunchingWithOptions 方法中的内容:

现在我可以看到我已连接,但我仍然不理解 onSocket:socket didReadData:data withTag: 方法未被调用。对此的任何帮助将不胜感激。谢谢!

0 投票
2 回答
862 浏览

iphone - 为什么不调用库(委托)方法?CocoaAsyncSocket

我已经在这个问题上停留了几天,似乎越来越接近解决方案(在伟大的用户@SO的帮助下)。我正在使用 CocoaAsyncSocket 库来创建到 Windows 服务器的 TCP 套接字连接。

正在我的 appDelegate 中建立连接:

我有一个名为 onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port 的连接方法(库的一部分):

正在调用此方法,因为我可以看到 NSLOG 的输出并且我已成功连接。我还可以从 Windows 机器上看到连接成功(使用日志文件)。

我还测试了另一个委托方法也被调用:

我已经通过在模拟器中运行我的应用程序然后从我的笔记本电脑上拔下我的以太网线来测试 willDisconnectWithError 方法是否有效。完成此操作后,我在输出中看到了“错误 - 断开连接”字符串。

然而,最大的问题是我的委托方法(同样,来自库)没有被调用。

未调用委托方法:

我对我对委托方法如何工作的知识和理解充满信心,但我仍然不太了解它们是如何被调用的。为了进一步复杂化和引起混淆,一个委托方法(onSocket:didConnectToHost 端口:)正在被调用,但另一个(onSocket:didReadData 标签:)没有被调用。不幸的是,这只是我的问题的第一步,但我必须先解决这个问题,然后才能解决另一个问题。

任何帮助将不胜感激。感谢:D