草庐IT

async_accept

全部标签

iphone - 可以将 cancel/isCancelled 与 GCD/dispatch_async 一起使用吗?

我一直在想,您能否将cancel/cancelAllOperations/.isCancelled与您使用GCD启动的线程一起使用?目前,我只是使用一个bool值作为标志,以取消后台进程。假设您想要在后台进行大量处理,同时保持UI响应,以便您可以捕捉取消按钮(或动画显示处理器正在工作)。这是我们如何做到的...@interfaceAstoundingView:UIView{BOOLpleaseAbandonYourEfforts;blah}@implementationAstoundingView////thesearetheforegroundroutines...//begin,a

objective-c - dispatch_sync 调用变成 dispatch_async 调用

我对这段代码的行为有些怀疑:dispatch_async(queue,^{sleep(2);NSLog(@"step1");dispatch_sync(queue,^{sleep(3);NSLog(@"step2");});NSLog(@"step3");});我希望从这些行中获得输出step1->step3->step2但我只获得了step1。如果我将dispatch_sync更改为dispatch_async它会按预期工作,dispatch_sync进入dispatch_async调用是否会产生此类问题?回答后编辑----------------这种情况会造成死锁:您可以查看已接受

iphone - 如何检查 dispatch_async block 是否已完成运行

所以基本上我需要能够在一个block完成运行后运行一个segue。我有一个block可以做一些JSON的事情,我需要知道它什么时候结束运行。我有一个名为json_queue的队列。jsonQueue=dispatch_queue_create("com.jaboston.jsonQueue",NULL);然后我有一个语法如下的dispatch_asyncblock:dispatch_async(jsonQueue,^{[selfdoSomeJSON];[selfperformSegueWithIdentifier:@"modaltomenu"sender:self];});它不会让我执

ios - dispatch_group_notify 不等待一个 dispatch_group_async

两个并发的后台任务需要修补两个单独的数组,需要合并到一个dispatch_group_notifyblock中。问题是,第一个block超出了,但是dispatch_group_notify超出了,没有等待第二个后台任务的执行。它们之间的唯一区别是第一个进行本地搜索,第二个对Web服务进行远程调用。知道为什么跳过第二个吗?编辑:我也尝试了https://stackoverflow.com/a/19580584/859742中提到的方法使用dispatch_barrier_async但仍然相同。dispatch_group_ttaskGroup=dispatch_group_create

ios - CFRunLoopPerformBlock 与 dispatch_async

我在后台线程上有一些计算工作,之后我需要更新一些calayer的转换,我尝试使用dispatch_async(dispatch_get_main_queue(),^{calayer.transform=newTransform});和CFRunLoopPerformBlock(CFRunLoopGetMain(),kCFRunLoopCommonModes,^(void){calayer.transform=newTransform});我只是觉得他们是一样的,但我发现calayer在使用dispatch_async时工作得非常顺利(也许?)。这两个函数有什么不同?

c - 套接字 API : accept method didn't set sockaddr_in structure

我正在开发客户端-服务器软件。在服务器端我使用这段代码:intlistener_socket=socket(AF_INET,SOCK_STREAM,0);if(listener_socket所以我的代码阻塞在accept()方法中并等待新的连接。当客户端连接时,accept方法返回正确的非负套接字描述符(我可以使用此描述符与客户端通信)但它不会填充cli_addr结构。它仍然为零。为什么会这样? 最佳答案 我在接受之前忘记了这一行:clilen=sizeof(cli_addr); 关于c

sockets - SSL_accept() 失败,返回值 -1

为了理解SSL/TLS,我在Windows-7上下载了OpenSSL-1.0.2k并用Cygwin编译gcc64位编译器。我从OpenSSLserver/clientexampleinc中获取了服务器/客户端的现成示例并用cygwingcc编译。第一次编译就成功了。我使用以下命令从cmd执行服务器和客户端。(Server)D:\>ssl-server.exe5000(Client)D:\>ssl-client.exe127.0.0.15000客户端没有任何响应退出,但另一方面,服务器显示它已建立连接,例如;Connection:127.0.0.1:50475并无限期地等待下一行。然后我

c# - async/await Tcp socket 实现只接受一个连接

我习惯了开始/结束APM模式,我想将我的套接字服务器更新为.Net4.5/async/await。我从Internet来源编写了示例代码,但无法正常工作。我希望所有已连接的客户端在被接受连接(尚未实现..)后被分离到自己的类中。接受所有传入连接的循环在自己的线程中运行。基本上,Main.cs是我接受客户端、创建新类(Client.cs/Session.cs)进行连接并将接受客户端指向该类的地方。好吧,这就是我打算做的,它不在代码中,目前的主要问题是我对如何处理这个接受序列的了解以及为什么我不能同时连接多个客户端?我希望你能指出我正确的答案。提前谢谢你。代码Form1.csusingSy

c++ - 如何让 boost::asio::async_read 在到达终止字符时返回

我正在使用boostasio库从tcp套接字读取内容。我的代码看起来像这样std::stringcompleteBuffer="";std::stringTcpConnection::readMessage(){LOG4CPLUS_DEBUG(logger,"StartListenerforReadingMessagefromConnection");boost::system::error_codeerror;boost::asio::async_read(socket,boost::asio::buffer(buffer),boost::bind(&TcpConnection::h

c - accept() 返回无效参数

了解TCP连接。任何人都可以看到为什么我的accept()调用因“无效参数”而出错吗?我看不出我做错了什么。谢谢!intmain(intargc,char*argv[]){intsockfd,newfd;structsockaddr_inclientAddr;unsignedintrecvLen;socklen_taddr_size;fd_setread_set;structtimevaltv;//initializethefdsetFD_ZERO(&read_set);//preparetheaddressstructforthefirstclientbzero(&clientAdd