35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
sock = INVALID_SOCKET;
saddr = NULL;
saddr_len = 0;
return self;
}
- free
{
if (sock != INVALID_SOCKET)
close(sock);
return [super free];
}
- connectTo: (const char*)host
onPort: (uint16_t)port
{
struct addrinfo hints, *res, *res0;
char portstr[6];
|
|
|
|
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
sock = INVALID_SOCKET;
saddr = NULL;
saddr_len = 0;
return self;
}
- (void)dealloc
{
if (sock != INVALID_SOCKET)
close(sock);
[super dealloc];
}
- connectTo: (const char*)host
onPort: (uint16_t)port
{
struct addrinfo hints, *res, *res0;
char portstr[6];
|
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
|
newsock = [OFTCPSocket tcpSocket];
addrlen = sizeof(struct sockaddr);
@try {
addr = [newsock allocWithSize: sizeof(struct sockaddr)];
} @catch (OFException *e) {
[newsock free];
@throw e;
}
if ((s = accept(sock, addr, &addrlen)) == INVALID_SOCKET) {
[newsock free];
@throw [OFAcceptFailedException newWithClass: isa];
}
newsock->sock = s;
newsock->saddr = addr;
newsock->saddr_len = addrlen;
|
|
|
|
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
|
newsock = [OFTCPSocket tcpSocket];
addrlen = sizeof(struct sockaddr);
@try {
addr = [newsock allocWithSize: sizeof(struct sockaddr)];
} @catch (OFException *e) {
[newsock dealloc];
@throw e;
}
if ((s = accept(sock, addr, &addrlen)) == INVALID_SOCKET) {
[newsock dealloc];
@throw [OFAcceptFailedException newWithClass: isa];
}
newsock->sock = s;
newsock->saddr = addr;
newsock->saddr_len = addrlen;
|