29,028
社区成员
发帖
与我相关
我的任务
分享
if((m_hSocket = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET)
{
NSLog(@"socket error!");
return FALSE;
}
NSLog(@"m_hsocket is %d",m_hSocket);
struct sockaddr_in their_addr;
their_addr.sin_family = AF_INET;
NSString *ipString = getIpAddressForHost(hostName);
their_addr.sin_addr.s_addr = inet_addr([ipString UTF8String]);
their_addr.sin_port = htons(port);
bzero(&(their_addr.sin_zero), sizeof(their_addr.sin_zero));
int optVal = 1024*10;
int optLen = sizeof(int);
setsockopt(m_hSocket, SOL_SOCKET, SO_RCVBUF,(char *)&optVal, optLen);
setsockopt(m_hSocket, SOL_SOCKET, SO_SNDBUF,(char *)&optVal, optLen);
CFSocketContext socketCtxt = {0,this,NULL,NULL,NULL};
CFSocketRef socketRef = CFSocketCreateWithNative(kCFAllocatorDefault, m_hSocket, kCFSocketReadCallBack, &recvData, &socketCtxt);
CFRunLoopSourceRef runLoopSource = CFSocketCreateRunLoopSource(kCFAllocatorDefault, socketRef, 0);
CFRunLoopAddSource(m_cfRunLoopRef, runLoopSource, kCFRunLoopDefaultMode);
CFRelease(runLoopSource);
CFRelease(socketRef);
---------------------------------------------------------
static void recvData(CFSocketRef socket, CFSocketCallBackType type, CFDataRef address, const void *data, void *info)
{
NSLog(@"hello!");
}