没有合适的资源?快使用搜索试试~ 我知道了~
OS下如何同时开启两个AsyncSocket TCP连接.tx
1星 需积分: 12 9 下载量 35 浏览量
2013-09-02
20:14:40
上传
评论
收藏 4KB TXT 举报
温馨提示
试读
5页
OS下如何同时开启两个AsyncSocket TCP连接.tx
资源推荐
资源详情
资源评论
先创建一个socket
- (int)CSocket
{
if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
perror("socket");
exit(errno);
}
return sockfd;
}
然后是链接
//////////////////
- (BOOL)ConnectToServer:(NSString*)addr port:(int)port
{
their_addr.sin_family = AF_INET;
their_addr.sin_addr.s_addr = inet_addr([addr UTF8String]);
their_addr.sin_port = htons(port);
bzero(&(their_addr.sin_zero), 8);
int conn = connect(sockfd, (struct sockaddr*)&their_addr, sizeof(struct sockaddr));
NSLog(@"Connect error no is %d:",conn);
return misConnect;
}
这样子的链接是阻塞的,这样子就比较不好,可以设置成非阻塞的方式来控制超时
/***************************************************/
//在connect之前,设成非阻塞模式
int flags = fcntl(sockfd, F_GETFL,0);
fcntl(sockfd,F_SETFL, flags | O_NONBLOCK);
/***************************************************
- (int)CSocket
{
if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
perror("socket");
exit(errno);
}
return sockfd;
}
然后是链接
//////////////////
- (BOOL)ConnectToServer:(NSString*)addr port:(int)port
{
their_addr.sin_family = AF_INET;
their_addr.sin_addr.s_addr = inet_addr([addr UTF8String]);
their_addr.sin_port = htons(port);
bzero(&(their_addr.sin_zero), 8);
int conn = connect(sockfd, (struct sockaddr*)&their_addr, sizeof(struct sockaddr));
NSLog(@"Connect error no is %d:",conn);
return misConnect;
}
这样子的链接是阻塞的,这样子就比较不好,可以设置成非阻塞的方式来控制超时
/***************************************************/
//在connect之前,设成非阻塞模式
int flags = fcntl(sockfd, F_GETFL,0);
fcntl(sockfd,F_SETFL, flags | O_NONBLOCK);
/***************************************************
资源评论
- 草原悠悠兔2014-10-09不是Asynsocket
zangzhang00
- 粉丝: 1
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功