• TCP based Socket (also can use AsynSocket lib)
      NSInputStream *inputStream;
      NSOutputStream *outputStream;

   

- (void)connect

{

    CFReadStreamRef readStream;

    CFWriteStreamRef writeStream;

    

    CFStreamCreatePairWithSocketToHost(NULL, (__bridge CFStringRef)(@"127.0.0.1"), 80, &readStream, &writeStream);

    inputStream = (__bridge NSInputStream *)readStream;

    outputStream = (__bridge NSOutputStream *)writeStream;

    

    [inputStream setDelegate:self];

    [outputStream setDelegate:self];

    

    [inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];

    [outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];

    

    [inputStream open];

    [outputStream open];

}


- (void)sendMessage:(NSString *)message

{

NSData *data = [[NSData alloc] initWithData:[message dataUsingEncoding:NSASCIIStringEncoding]];

[outputStream write:[data bytes] maxLength:[data length]];

}

  • UDP based socket (use AsyncUdpSocket lib)
    • Copy AsyncUdpSocket.h and AsyncUdpSocket.m to your project.
    • Conform to AsyncUdpSocketDelegate for example, 
      • @interface XXXViewController : UIViewController <AsyncUdpSocketDelegate>
    • - (void)initUdpSocket

      {

          asyncUdpSocket = [[AsyncUdpSocket alloc]initWithDelegate:self];

      }


      - (void)sendMessage:(NSString *)message

      {

          NSData *data = [[NSData alloc] initWithData:[message dataUsingEncoding:NSUTF8StringEncoding]];

          BOOL success = [asyncUdpSocket sendData:data toHost:@"127.0.0.1" port:8888 withTimeout:-1 tag:1];

          NSLog(@"send upd complete: %d", success);

      }







posted on 2013-06-01 21:12  chuwachen  阅读(199)  评论(0)    收藏  举报