objective-c - iOS 使用GCDAsyncSocket建立长连接发送消息
怪我咯
怪我咯 2017-05-02 09:30:53
0
1
732

iOS 使用GCDAsyncSocket建立长连接发送消息,为什么没发送一条消息就要初始化GCDAsyncSocket一次,是不是我的代码哪里写错了

这个是发送消息按钮方法,当我GCDAsyncSocket初始化写到viewDidLoad,就服务器就接受不到消息

-(void)allPhotoAction:(UIButton *)btn{

//建立连接
NSString *host = @"192.168.0.199";
int port = 54111;
asyncsocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
asyncsocket.delegate = self;
NSError *error = nil;
if (![asyncsocket connectToHost:host onPort:port error:&error]) {
    //该方法异步
    GFFLog(@"%@",  @"连接服务器失败");
}

NSString *sendMessage = @"25";

[asyncsocket writeData:[sendMessage dataUsingEncoding:NSUTF8StringEncoding] withTimeout:-1 tag:1];

}

怪我咯
怪我咯

走同样的路,发现不同的人生

全員に返信(1)
给我你的怀抱

さらに公式の例を参照することをお勧めします。

Call connectToHost 返された成功は、接続されたことを意味するものではなく、入力したホストとポートに問題がないことを意味します。接続に成功するためのコールバック メソッドがあり、そのメソッドの後に writeData を呼び出します。接続を長く維持するには、書き込み/受信のたびに read を呼び出して、ソケットをリッスンし続ける必要があります。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!