I'm not an iPhone developer, but I was curious about your question so I had a look around.
I found this page: Sockets on iPhone
Here's the code:
- (void)sendcmd:(NSString*)cmd {
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    NSString *hostname= [defaults stringForKey:@"hostname"];
    NSHost *host=[NSHost hostWithName:hostname];
    if (host) {
        struct sockaddr_in addr;
        int sockfd;
        // Create a socket
        sockfd = socket( AF_INET, SOCK_STREAM, 0 );
        addr.sin_family = AF_INET;
        addr.sin_addr.s_addr = inet_addr([[host address] UTF8String]);
        addr.sin_port = htons( 2001 );
        int conn = connect(sockfd, &addr, sizeof(addr)); 
        if (!conn) {
            NSData* data = [cmd dataUsingEncoding:NSISOLatin1StringEncoding];
            ssize_t datasend = send(sockfd, [data bytes], [data length], 0);
            datasend++;
            //ssize_t   send(int, const void *, size_t, int) __DARWIN_ALIAS_C(send);
            close(sockfd);
        } else {
            // create a popup here!
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:[@"Connection failed to host " stringByAppendingString:hostname] message:@"Please check the hostname in the preferences." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
            [alert show];
            [alert release];
        }
    } else {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:[@"Could not look up host " stringByAppendingString:hostname] message:@"Please check the hostname in the preferences." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alert show];
        [alert release];
    }
}
A poster goes on to also suggest this library: entropydb - SocketWrapper