/Volumes/Plantain/MyDocuments/Projects/MacTrek/MacTrek/Comm/ServerSenderTcp.m

00001 //
00002 //  ServerSenderTcp.m
00003 //  MacTrek
00004 //
00005 //  Created by Aqua on 13/05/2006.
00006 //  Copyright 2006 __MyCompanyName__. All rights reserved.
00007 //
00008 
00009 #import "ServerSenderTcp.h"
00010 
00011 
00012 @implementation ServerSenderTcp
00013 
00014 - (id) initWithSocket:(ONTCPSocket*) newSocket {
00015         
00016     self = [super init];
00017     if (self != nil) {
00018         socket = newSocket;
00019     }
00020     return self;
00021 }
00022 
00023 - (bool) sendBuffer:(char*) buffer length:(int)size {
00024     
00025     NSLog(@"ServerSenderTcp.sendBuffer message: %@ (%d) size: %d", 
00026           [pktConv clientPacketString:buffer[0]], buffer[0], size);
00027     [pktConv printPacketInBuffer:buffer size:size];
00028         
00029     NSData *packet = [[NSData alloc] initWithBytes:buffer length:size];
00030     // should test for some error in the writing?
00031     @try {
00032         if (socket != nil) {
00033             [socket writeData:packet];
00034         } else {
00035             NSLog(@"ServerSenderTcp.sendBuffer cannot send message, socket was closed");
00036         }
00037         
00038     }
00039     @catch (NSException * e) {
00040         NSLog(@"ServerSenderTcp.sendBuffer cannot send message, should close!");
00041         [packet release];
00042         return NO;
00043     }
00044     
00045     [packet release];
00046     return YES;
00047 }
00048 
00049 - (void) close {
00050     if (socket != nil) {
00051       // [socket release]; 
00052     }
00053     socket = nil;
00054 }
00055 
00056 @end

Generated on Fri Jul 28 19:15:15 2006 for MacTrek by  doxygen 1.4.7