ios-app

CocoaAsyncSocket使用のTCPクライアントiOS App

GCDソケットを利用してTCPクライアントの構築を行う際、最も基本な設定をメモしておきます。

1、Githubより、CocoaAsyncSocketをダウンロードしておきます。

2、GCDAsyncSocket.h、GCDAsyncSocket.mをxcodeプロジェクトに取りこみます。

3、ターゲットviewcontollerにヘッダファイルをインポートして、宣言しておきます。

#import "GCDAsyncSocket.h"
@interface ViewController (){
 GCDAsyncSocket *asyncSocket;
}

4、ソケットを初期化して、接続を行います。

asyncSocket=[[GCDAsyncSocket alloc] initWithDelegate:self
delegateQueue:dispatch_get_main_queue()];
NSError *error = nil;
uint16_t portno = [[[self port] text] intValue];
if (![asyncSocket connectToHost:[ipaddress text] onPort:
portno error:&error]){...}
else{...}
}

5、ソケットからデータを取り込みます。

[asyncSocket readDataWithTimeout:-1.0 tag:0];

6、ソケットへデータを書きこみます。

[asyncSocket writeData:requestData withTimeout:-1 tag:0];

withTimeout:-1 は、ライムアウトなしと意味します。

7、ソケットイベントハンドラもいくつか取りこみます。

- (void)socket:(GCDAsyncSocket *)sock didConnectToHost:
(NSString *)host port:(UInt16)portno {...}
- (void)socket:(GCDAsyncSocket *)sock didWriteDataWithTag:
(long)tag {...}
- (void)socket:(GCDAsyncSocket *)sock didReadData:
(NSData *)data withTag:(long)tag{...}
- (void)socketDidDisconnect:(GCDAsyncSocket *)sock 
withError:(NSError *)err {...}

以上

ロボット・ドローン部品お探しなら
ROBOT翔・電子部品ストア