Hi all,

I am opening a socket on one machine and do

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(connectionAccepted:)
        name:FBConnectionAcceptedNotification object: nil];
      [self acceptConnectionInBackgroundAndNotify];     

I connect to this socket from another machine. This fires the following method:

- (void)connectionAccepted:(NSNotification *)notification
{
NSFileHandle *clientHandle = [[notification userInfo] objectForKey:NSFileHandleNotificationFileHandleItem];
   [clientHandle readInBackgroundAndNotify];
}

On the remote machine I send stuff using

        - [NSFileHandle writeData:]

and wait for

        - (void)readCompleted:(NSNotification *)notification

being called on the server end. This basically works. However, sometimes it takes 5 or more minutes before the data is received by the server. I assume that since I only sent a few bytes only and the data is kept until either more data is queued for transmission or a timeout occurs before the data is actually sent over the line. Can anybody confirm this assumption? What can i do about it? What I am looking for is some kind of flush mechanism (in NSFileHandle or directly on the socket) that sends out the data immediately regardless of how small the package is.

Thanks a lot!

Regards,

  Andreas



_______________________________________________
Discuss-gnustep mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to