草庐IT

swift-block

全部标签

objective-c - 从 NSURLResponse 完成 block 中获取数据

看来我还没有完全理解block的概念......在我的代码中,我必须从asychronousblock中取出JSON数据,以便从“outer”方法返回。我用google搜索发现,如果用__block定义一个变量,该变量的v̶i̶s̶i̶b̶i̶l̶i̶t̶y̶_mutability_被扩展到block。但由于某种原因返回的json对象是nil。我想知道为什么?-(NSMutableDictionary*)executeRequestUrlString:(NSString*)urlString{__blockNSMutableDictionary*json=nil;NSURL*url=[

ios - 如何使用 NSURLSession 从 block 中获取数据?

我对这个block有疑问。我试图获取NSURLSessionblock内的数据。这是我的代码-(NSDictionary*)RetrieveData{NSURLSession*session=[NSURLSessionsharedSession];NSURL*url=[NSURLURLWithString:self.getURL];dataList=[[NSDictionaryalloc]init];NSURLSessionDataTask*dataTask=[sessiondataTaskWithURL:urlcompletionHandler:^(NSData*data,NSURL

ios - Realm Swift 0.92.3 "Run Script Phase"不工作

尝试使用新的realm-swift-0.92.3,我无法让这个“运行脚本阶段”工作。我按照here中的说明进行操作.根据说明,我的运行脚本条目是(见下图):不幸的是,我在尝试编译时仍然收到以下错误消息(见下文)。还有什么问题???bash:/Users/XXX/Library/Developer/Xcode/DerivedData/MyAppglnkfueqyjbdhurfurfkip/Build/Products/Debug-iphonesimulator/MyApp.app/Frameworks/RealmSwift.framework/strip-frameworks.sh:没有

TCP 客户端服务器 : blocking connect call

我正在构建一个需要TCP进行通信的分布式应用程序。最终实验将涉及数千台服务器,与它们通信的客户端数量大约是其10-100倍。当前的设计是为每个事务建立连接、通信然后关闭连接。由于我只做过一些带有几个客户端的简单多线程服务器,所以我选择了阻塞套接字进行通信(听起来很简单)。我不确定这种方法是否会扩展得足够高。有人可以分享他们的经验吗?目前,代码在具有三个服务器进程和几个客户端的单台机器(48核/本地环回)上运行。客户端有一个紧密的for循环,他们建立连接,与任何一台服务器通信,然后断开连接。这些初始测试要求客户进行大约一百万次for循环迭代。基本上,随着我们扩大实验规模,这是严格的测试。

swift - 我想在 swift 中使用 outputStream.write() 通过输出流发送 Int

我必须通过输出流发送字节数组的长度,下面是我使用的代码,但出现此错误:"Cannotconvertvalueoftype'UnsafePointer'toexpectedargumenttype'UnsafePointer'"withUnsafePointer(to:&len){(pointer:UnsafePointer)->VoidinoutputStream.write(UnsafePointer(pointer),maxLength:4)}如果有人能告诉我我哪里出错了或建议替代方法。 最佳答案 首先,如果要按主机顺序向Out

Azure TCP 分段和 HTTP block

我有一个连接到大量已安装设备的Azure应用程序。多年来一切正常,直到今天一切都停止工作。我认为发生的事情是Azure现在正在对小(87字节有效负载)消息进行分段,这在我的TCP处理程序中暴露了一个错误。有谁知道是否有办法强制Azure不对小的TCP消息进行分段?跟进-我认为这是因为HTTP消息被“分block”并作为2个TCP段发送。我的代码中有一个错误,它不处理现在才浮出水面的block。我可以在Azure中关闭分block吗? 最佳答案 如果您的问题是是否有办法阻止HTTP响应使用HTTPChunkedTransferEnco

c - 使用 TCP/IP : recv() blocks 的套接字编程

我正在开发一个简单的客户端/服务器项目,它将一大块数据从客户端移动到服务器。我使用TCP/IP。服务器设置监听套接字,客户端连接。首先传输一个短的16字节“header”,其中包含一些信息,包括之后要传输的数据量。然后传输大块(大约2MB),即send(socketDesc,(void*)myBuffer,bigChunkSize,0);和recv(socketDescPeer,(void*)myBuffer,bigChunkSize,0)首先,我使用winsock2在Windows下实现了客户端,它可以正常工作。我现在尝试将此实现移植到linux,在这种情况下,服务器端永远不会从re

c - Linux, C : IPv6 socket: write blocks

我有服务器和客户端应用程序,在Ubuntu1410默认内核上以IPv6运行。服务:socket监听本地TCP端口并使用select()处理新的连接和数据;客户端:socket通过TCP连接服务器IPv6地址和端口。可以成功建立连接。但是,当write()数据时,缓冲区大小为128K,它会阻塞在write()中。因为我需要写入很多数据,所以我有一个for循环来调用write()。有时,write()会成功一两次,但随后又会阻塞。我的应用支持IPv4和Ipv6。write()适用于IPv4。而且,如果我在::1上测试(服务器和客户端在同一台机器上运行),IPv6也可以工作。r=write(

sockets - 连接到本地主机时延迟低,但使用外部主机时我每秒获取 3 次数据 block

我有一个项目,每10-12毫秒传输一串小数据包,我还尝试了不同的程序,一个用C++编写,另一个用python编写,以查看我的实现是否有误,但没有任何改变。因为它在我本地连接时有效,所以我看不出编程和网络代码是如何受到指责的。我尝试更新驱动程序,但没有解决问题。我尝试用完全相同的组件和软件构建一个新桌面。它适用于该PC。老实说,对于这个烦人的问题,我找不到单一的模式或解释,更不用说解决方案了。什么会导致这种行为?它不能是缓冲区,因为它在本地工作?我尝试更改它并使客户端每秒仅发送10次数据。它不应该是数据包丢失,因为我在没有无线的本地网络上使用TCP。两台PC和一根以太网线。网页加载速度快

python - 在 Swift 中测量 http HEAD 请求的响应时间

我正在尝试在Swift中构建一个函数,该函数将httpHEAD请求发送到指定的url,并测量来自服务器的响应时间。我不关心解析响应,只关心我从服务器得到200。我可以使用请求模块在python中执行此操作:importrequestsdefget_latency():r=requests.head("http://example.com")returnr.elapsed.total_seconds()我假设我将需要为此使用NSURL,并且我已经能够做到这一点,但无法找出实际发送请求的最佳方式...leturl=NSURL(string:"http://example.com")letr