【发布时间】:2011-12-23 08:21:30
【问题描述】:
我需要使用以下给定的 -(BOOL) 方法连接 imap 电子邮件服务器
点击连接按钮时如何在 IBACTION 中调用此方法?
- (BOOL) connectToHost: (NSString*) hostname
{
socket_ = socket(AF_INET, SOCK_STREAM, 0);
if (socket_ < 0) {
NSLog(@"socket");
}
struct sockaddr_in addr;
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons(993);
struct hostent* host = gethostbyname([hostname UTF8String]);
unsigned int** ptr = (unsigned int **) host->h_addr_list;
while (*ptr != NULL) {
addr.sin_addr.s_addr = *(*ptr);
if (connect(socket_, (struct sockaddr *) &addr, sizeof(addr)) == 0) {
break;
}
ptr++;
}
if (*ptr == NULL) {
NSLog(@"connect");
}
return [[self readLine] isEqualToString: @"* OK"];
}
【问题讨论】:
-
只需使用 IBACTION 制作一个典型的点击方法,然后从内部调用 connectToHost。
标签: objective-c ios methods boolean ibaction