我正在获得一个VOIP套接字,以便在iOS应用程序中在后台运行.
我的连接工作正常,但当我的应用程序进入后台时它不会被唤醒.但是,如果我重新打开应用程序,它会响应它在睡眠时收到的任何消息.
我像这样设置我的流:
CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault,
(CFStringRef) @"test.iusealocaltestserver.com",
5060,
&myReadStream,
&myWriteStream);
CFReadStreamSetProperty ( myReadStream,
kCFStreamNetworkServiceType,
kCFStreamNetworkServiceTypeVoIP
);
CFSocketNativeHandle native;
CFDataRef nativeProp = CFReadStreamCopyProperty(myReadStream, kCFStreamPropertySocketNativeHandle);
CFDataGetBytes(nativeProp, CFRangeMake(0, CFDataGetLength(nativeProp)), (UInt8 *)&native);
CFRelease(nativeProp);
CFSocketRef theSocket = CFSocketCreateWithNative(kCFAllocatorDefault, native, 0, NULL, NULL);
CFSocketGetContext(theSocket,&theContext);
CFOptionFlags readStreamEvents = kCFStreamEventHasBytesAvailable |
kCFStreamEventErrorOccurred |
kCFStreamEventEndEncountered |
kCFStreamEventOpenCompleted;
CFReadStreamSetClient(myReadStream,
readStreamEvents,
(CFReadStreamClientCallBack)&MyCFReadStreamCallback,
(CFStreamClientContext *)(&theContext));
CFReadStreamScheduleWithRunLoop(myReadStream, CFRunLoopGetCurrent(),
kCFRunLoopCommonModes);
Run Code Online (Sandbox Code Playgroud)
然后我的回调设置如下:
static void MyCFReadStreamCallback(CFReadStreamRef stream, CFStreamEventType type, void *pInfo);
static void MyCFReadStreamCallback (CFReadStreamRef stream, CFStreamEventType type, void *pInfo)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; …Run Code Online (Sandbox Code Playgroud) 我有一个在画布上运行的javascript应用程序.它适用于Android,除了当你用手指在屏幕上拖动时整个网页冻结.有没有办法阻止这种情况发生?
我有一个画布,我正在绘制一个JavaScript游戏.问题是,当玩家移动鼠标时,他们最终选择看起来很丑的画布的一半时间.
我试过谷歌搜索并使用一些CSS,如-webkit-user-select:none; 和变体,但似乎没有任何东西适用于画布.
canvas ×2
android ×1
cfreadstream ×1
html ×1
ios4 ×1
javascript ×1
objective-c ×1
selection ×1
voip ×1