Skip to content

Instantly share code, notes, and snippets.

@comchangs
Last active May 11, 2017 09:49
Show Gist options
  • Save comchangs/f240670693011d43472ca557045538c8 to your computer and use it in GitHub Desktop.
Save comchangs/f240670693011d43472ca557045538c8 to your computer and use it in GitHub Desktop.
BSD Socket example for Objective-C
+ (void) createSocket {
int sockfd;
if ( (sockfd = socket( AF_INET, SOCK_STREAM, 0 )) < 0 ) {
NSLog(@"Error creaing socket");
return;
}
struct sockaddr_in sockaddr;
sockaddr.sin_family = AF_INET;
sockaddr.sin_addr.s_addr = htonl(INADDR_ANY);
bind(sockfd, (struct sockaddr *) &sockaddr, sizeof(sockaddr));
struct sockaddr_in serverAddress;
bzero( &serverAddress, sizeof(serverAddress) );
serverAddress.sin_family = AF_INET;
serverAddress.sin_port = htons(80);
struct hostent *hp;
hp = gethostbyname("naver.com");
if(hp == 0) {
NSLog(@"error getting host address");
}
memcpy(&serverAddress.sin_addr, hp->h_addr, hp->h_length);
if ( connect( sockfd, (struct sockaddr *)&serverAddress, sizeof(serverAddress)) < 0 )
{
NSLog(@"connect error");
return;
}
char buffer[100];
sprintf(buffer,"GET / HTTP/1.0\r\n\r\n");
write(sockfd, buffer, strlen(buffer));
read(sockfd, buffer, 100);
NSLog(@"%s",buffer);
return
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment