0

アプリで TCP ソケット接続を作成するために CocoaAsyncSockets ライブラリを使用しています。現在、appDelegate.m ファイルの didFinishLaunchingWithOptions メソッドでソケット接続を開くことにより、接続を正常に作成しました。私のコードは次のようになります。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:  (NSDictionary *)launchOptions
{
    socket = [[AsyncSocket alloc] initWithDelegate:self];
    [self connect];

    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]    autorelease];
    // Override point for customization after application launch.
    self.viewController = [[[tekMatrixViewController alloc]     initWithNibName:@"tekMatrixViewController" bundle:nil] autorelease];
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    return YES;
}

そして、ここに私の接続方法があります:

- (void)connect 
{
    [socket connectToHost:@"9.5.3.6" onPort:11005 error:nil];
}

今、私が苦労しているのは、接続を再確立することなく、ビューで読み取り/書き込みメソッドを使用する方法です。

  • アプリケーションの起動時に TCP ソケット接続を確立しました
  • didFinishLaunchWithOptions メソッドでソケットを開き、接続を作成してアプリの実行中ずっと接続を維持できるようにします
  • ビューからサーバーに読み書きする方法がわかりません
  • 私はソケット/iOS開発に非常に慣れていないので、可能な限り簡単な解決策を望んでいます

これについて何か助けていただければ幸いです。私はまだ iOS にかなり慣れていないので、まだ構文を理解しています。

助けてくれてどうもありがとう!

4

1 に答える 1

0

AsyncSocket には、次の書き込みメソッドが付属しています。

- (void)writeData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag;

そして、読み取りメソッドのいくつかのバリアントを次に示します: (ライブラリのヘッダー ファイルからの詳細)

- (void)readDataWithTimeout:(NSTimeInterval)timeout tag:(long)tag;

AsyncSocket ライブラリをダウンロードしたのと同じ Web サイトからサンプル コードを取得して、その使用方法を確認してください。これらのメソッドは非同期操作であることに注意してください。

于 2012-06-05T15:10:28.330 に答える