Well, this code works for me whether I have an IP address or domain name in the 
string:

    addr.sin_addr.s_addr = inet_addr (theCStringInternetAddress);
    if (INADDR_NONE == addr.sin_addr.s_addr)
    {
        struct hostent*    theHostInfo;

        theHostInfo = gethostbyname (theCStringInternetAddress);
        if (NULL != theHostInfo)
        {
            addr.sin_family = theHostInfo->h_addrtype;
            memcpy (&addr.sin_addr.s_addr,
                theHostInfo->h_addr,
                theHostInfo->h_length);
        }
    }

>
>On Mar 19, 2008, at 4:31 PM, Sherm Pendley wrote:
>
>> Looks reasonable. Now if I could only figure out why I forgot about  
>> NSSocketPort...
>>
>> I think maybe I need to write a network app to jog my memory.  
>> Obviously I haven't looked at these classes recently enough. :-)
>
>I couldn't get it to work. Apple's documentation makes it sound like  
>NSSocketPort can work for general network sockets, but a little  
>Googling led me to some old postings that say it was really only ever  
>designed for use with DO and doesn't work as advertised as a full- 
>service socket wrapper.
>
>I did get the process as you described working fine in a little test  
>app, except for one thing - I can only get it to work if I provide the  
>address as dot separated octets, like:
>
>       NSString *address = @"66.250.146.128";
>       
>       struct sockaddr_in addr;
>       bzero( &addr, sizeof(struct sockaddr_in));
>       addr.sin_family = AF_INET;
>       addr.sin_addr.s_addr = inet_addr([address UTF8String]);
>       addr.sin_port = htons( 119 );
>
>       int fd = socket( AF_INET, SOCK_STREAM, 0 );
>       
>       
>       if ( connect( fd, (struct sockaddr *)&addr,  sizeof(addr)) < 0 )
>       {
>               NSLog(@"Error connecting");
>               return;
>       }
>       
>       self.fh =[[[NSFileHandle alloc] initWithFileDescriptor:fd]  
>autorelease];
>       [fh writeData:[@"LIST NEWSGROUPS\r\n" dataUsingEncoding:  
>NSUTF8StringEncoding]];
>       [fh readInBackgroundAndNotify];
>       NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
>       [nc addObserver:self selector:@selector(finish:)  
>name:NSFileHandleReadToEndOfFileCompletionNotification object:fh];
>       [nc addObserver:self selector:@selector(process:)  
>name:NSFileHandleReadCompletionNotification object:fh];
>
>But I'm darned if I can figure out how to get it to work with a  
>hostname (like @"apple.com"). I've tried using gethostbyname and a few  
>other things I've found on the web, but nothing seems to work except  
>using the octet string, although I'm sure that's just because I  
>haven't worked with sockets in years and am forgetting something  
>really stupid. :)
>
>Thanks for all the help.
>Jeff
>_______________________________________________
>
>Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
>
>Please do not post admin requests or moderator comments to the list.
>Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
>Help/Unsubscribe/Update your Subscription:
>http://lists.apple.com/mailman/options/cocoa-dev/garywade%40desisoftsystems.com
>
>
>This email sent to [EMAIL PROTECTED]
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to