问题标签 [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.
swift - Swift GCDAsyncSocket acceptOnPort:错误:不打开端口?
我在 10.9 上使用 Xcode beta 3 编写使用 GCDAsyncSocket 的服务器。以下代码返回 true 并且不会产生错误,但 Network Utility 说端口 5050 未打开。
在同一台机器上,在相同版本的 Xcode 中,等效的 ObjC 运行良好,并在 5050 上打开了一个端口。我的代码、GCDAsyncSocket、Swift 或 Xcode 有问题吗?
TIA。
ios - iOS:GCDAsyncSocket 及其标签
在我的应用程序中,我使用 GCDAsyncSocket 并以这种方式读写:
在我在委托方法中读取数据后:
在这个委托方法中,我想起了“readDataWithTimeout”,所以我以这种方式读取了所有数据。
当我打一个新电话时的问题ID,如果我这样做:
我用 tag = 2 开始新的写入和新的读取;当调用委托方法“didReadData”时,我的代码进入 tag = 1 块内;它似乎无法识别新标签。
为什么会发生?
swift - Swift 使用 Objective-C 类
我正在尝试使用 GCDAsyncSocket 连接我的应用程序。
我得到编译错误。当我尝试这个时:
我得到:“在调用中缺少参数'withTimeout'的参数”当更改为:
我得到:“调用中的额外参数'withTimeout'”我很困惑......
ios - 如何找到本地网络上的所有服务器?
我将 CocoaAsyncSocket 用于 iPad 上的服务器客户端应用程序。现在,如果服务器启动,客户端可以输入服务器的 IP 并连接到它。有没有办法显示本地网络上运行此应用程序的所有服务器?
谢谢!
ios - CocoaAsyncSocket / GCDAsyncSocket:关闭 SSL/TLS 会话(回到未加密的 TCP 连接)/建立第二个 SSL 会话/重新协商会话
我在通过 SSL 连接到服务器时遇到问题。一旦我执行一个特殊命令,我正在与之交谈的服务器上的服务就会切换并失去 SSL 会话,从而迫使我进行新的 SSL 握手。
如何使用 GCDAsyncSocket 做到这一点?在我打电话后[socket startTLS:...]
,不可能关闭 SSL 会话(类似于[socket stopTLS]
)并再次重新打开它或重新协商 SSL 会话。我也无法断开并重新连接 TCP 套接字或使用第二个套接字进行连接,因为那样我将在第一次连接到服务器时获得的入口点服务重新开始。
我很感激你能提供给我的任何想法!
提前致谢。
- 编辑 -
仍然无法弄清楚如何在不打开新 TCP 套接字的情况下建立第二个 SSL 会话。我也找不到任何方法来手动重新协商 SSL 会话......
有任何想法吗?提前致谢!
ios - 使用 AudioUnit IOS 从 nsdata 的服务器流播放语音
我正在尝试在 iOS 中构建某种 VoIP 应用程序。到目前为止,我已经能够成功地将麦克风数据作为缓冲区从麦克风发送到使用GCDAsyncSocket
. 现在我需要回放我收到的数据,这让我很困惑。我在网上看过,但我看到的只是从远程播放音频文件或从 URL 播放音频流。我实际上NSData
定期接收,需要弄清楚如何使用它们NSData
来填充音频单元缓冲区列表。我是 C 的新手,发现很难通过它。这是我NSData
从服务器获取的。
在我的 中AudioUnitProcessor
,这就是我AUnit
使用Stefan Popp 的代码进行设置的方式:
最后这是向服务器发送音频数据的方法
所有这些工作都很好,我可以在我的服务器中聆听以 Java 运行的声音。现在我需要弄清楚如何调整这个音频单元来播放NSData
我不断从服务器接收到的数据包(我看过一些播放远程文件的例子,这不是我需要的。我需要播放语音)。来源不是文件,而是有人在说话,所以我有点困惑。
ios - GCDAsyncSocket 多个连接?
我已经在使用 GCDAsyncSocket 连接 2 个设备。一个广播自己并接受连接,另一个监听并请求连接。如果我尝试将另一个设备连接到仍在广播的主机,它会在第一个设备仍然连接时连接然后终止连接!
如何重组我的代码以接受多个连接?我错过了什么?请帮忙,我正在努力解决这个问题!这是我的代码:
objective-c - 在 GCDAsyncSocket 上设置匿名密码
有没有办法在 GCDAsyncSocket 库中启用匿名密码?以便通过 TLS/SSL 连接到弱保护的服务器。
ios - 使用 GCDAsyncSocket 传输文件接收器
我正在使用 GCDAsyncSocket。编写一个应用程序,用于在两个设备之间传输文件,在接收文件时有几个问题: 当我想向另一个接收设备(iOS 设备或 iOS 模拟器)发送一个大小约为 60 KB 的文本文件时,需要在数据之前添加一些数据包信息,如下所示:
2 字节头版本,1 字节标识数据或命令,4 字节数据大小,25 字节保留空间,
32 字节之后是文件数据、文本文件或图像文件或其他文件。因此,在调用 socket.writeData 之前,我编写了一个 NSMutableData,然后发送到接收设备。
发送设备一切正常,接收设备有问题 接收到四个数据包。每个数据包大小都不同,但我只在发送方设备发送一次,并且套接字头是混乱的。
我发现了一些关于读取数据的讨论: 在编程流时遇到问题
在数据末尾添加[GCDAsyncSocket CRLFData],在didReadData使用数据前添加readDataToData:[GCDAsyncSocket CRLFData],也没有解决问题。
任何人都可以帮助我吗?谢谢!
cocoa - 使用 GCDAsyncSocket 的(弱保护)安全服务器
我正在尝试使用 GCDAsyncSocket 编写一个受保护较弱的服务器(即我可以使用匿名密码连接到的服务器)。我目前正在做的事情如下:
绑定到端口并开始监听
/li>然后,当指定端口上的连接到达时,我会在
/li>- (void)socket:(GCDAsyncSocket *)sender didAcceptNewSocket:(GCDAsyncSocket *)newSocket
回调中收到它。在这里,我使用我的 SSL/TLS 设置创建了一个字典:在我通过调用应用设置后
startTLS
,newSocket
断开连接并被调用- (void)socketDidDisconnect:(GCDAsyncSocket *)sock withError:(NSError *)error
,错误代码为 9800 (errSSLProtocol)。
问题:我做错了什么/没有做什么?
我的猜测是这与我没有指定的证书有关。但是,如果我正在使用匿名密码,是否需要指定证书?