के लिए नागल के एल्गोरिदम को अक्षम करें मैं MPCF का उपयोग कर एक मल्टीप्लेयर गेम बना रहा हूं। आप आईफोन का उपयोग कर आईपैड पर एक स्पेसशिप को नियंत्रित करते हैं।NSOutputStream
मैं अंतराल और विलंबता और बफरिंग के विभिन्न राशि का सामना कर रहा हूँ/यादृच्छिक बार और अंतराल पर रुक जाता है और अब Technical Q&A NW26 कागज कि Nagle एल्गोरिथ्म अक्षम बारे में बात करती सेब पर पहुँचे हैं। मैं इसे आज़मा रहा हूं लेकिन मेरा प्रोग्राम दुर्घटनाग्रस्त रहता है और मुझे समझ में नहीं आता क्यों। ऐसा लगता है कि CFWriteStreamCopyProperty हमेशा वापस लौटता है।
- (void)stream:(NSStream *)stream handleEvent:(NSStreamEvent)eventCode
{
switch (eventCode) {
case NSStreamEventOpenCompleted:
// Trying to get a handle to the native socket
CFSocketNativeHandle rawsock;
// This always return NULL
CFDataRef socketData = CFWriteStreamCopyProperty((__bridge CFWriteStreamRef)(stream), kCFStreamPropertySocketNativeHandle);
// And this row always crash (coz of socketData being NULL i guess)
CFDataGetBytes(socketData, CFRangeMake(0, sizeof(CFSocketNativeHandle)), (UInt8 *)&rawsock);
CFRelease(socketData);
// Code example from Apple that need a handle to the native socket, that I am trying to get above
int err;
static const int kOne = 1;
err = setsockopt(rawsock, IPPROTO_TCP, TCP_NODELAY, &kOne, sizeof(kOne));
if (err < 0) {
err = errno;
}
break;
default:
break;
}
}
किसी भी मदद की सराहना की जाती है।
क्या आपको कभी इसके लिए समाधान मिला? मैं विलंबता को कम करने की कोशिश कर रहा हूं और ' प्रेषणडेटा: toPeers: withMode: त्रुटि:' 'MCSessionSendDataUnreliable'' के साथ, इसलिए मैं पैकेट नुकसान से निपटने से बच सकता हूं ... – jou
नहीं, क्षमा करें। ब्लूटूथ LE पर स्विच किया गया। – bobmoff
बहुत बुरा ... आपकी प्रतिक्रिया के लिए धन्यवाद। – jou