成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解iPhone 下AsyncSocket網(wǎng)絡(luò)庫編程

移動開發(fā) iOS
本文介紹的是詳解iPhone 下AsyncSocket網(wǎng)絡(luò)庫編程,很詳細(xì)的介紹了AsyncSocket庫的使用,我們來看內(nèi)容。

詳解iPhone AsyncSocket網(wǎng)絡(luò)庫編程是本文要介紹的內(nèi)容,iphone的標(biāo)準(zhǔn)推薦CFNetwork C庫編程.但是編程比較煩躁。在其它OS往往用類來封裝的對Socket函數(shù)的處理。比如MFC的CAsysncSocket.在iphone也有類似于開源項(xiàng)目.cocoa AsyncSocket庫

官方網(wǎng)站:http://code.google.com/p/cocoaasyncsocket/

它用來簡化CFnetwork的調(diào)用.

一、在項(xiàng)目引入ASyncSocket庫

1、下載ASyncSocket庫源碼
 
2、把ASyncSocket庫源碼加入項(xiàng)目
 
3、在項(xiàng)目增加CFNetwork框架
 
注意這里XCode 有一個BUG。CFNetwork框架沒有在Frame列表當(dāng)中。

在XCode 3.1.4中,在Framework目錄右健,選擇Add-->Existing Files...
     
選擇如下目錄

  1. /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOSX.Y.sdk/System/Library/Frameworks/CFNetwork.framework 

注意這里iPhoneOSX.Y.sdk是相應(yīng)的版本,在XCode 3.1.4中可以選擇iPhoneOS 3.1.3sdk這個最高版本

二、TCP客戶端

1、在controller頭文件加入AsyncSocket指針

  1. #import <UIKit/UIKit.h> 
  2. #import "AsyncSocket.h"  
  3.  
  4. @interface HelloiPhoneViewController : UIViewController {  
  5.     UITextField    * textField;  
  6.     AsyncSocket * asyncSocket;  
  7.  
  8. }  
  9.  
  10. @property (retain, nonatomic) IBOutlet UITextField *textField;  
  11.  
  12. - (IBAction) buttonPressed: (id)sender;  
  13. - (IBAction) textFieldDoneEditing: (id)sender;      
  14.  
  15. @end 

2、在需要聯(lián)接地方使用connectToHost聯(lián)接服務(wù)器

其中initWithDelegate的參數(shù)中self是必須。這個對象指針中的各個Socket響應(yīng)的函數(shù)將被ASyncSocket所調(diào)用.

  1. asyncSocket = [[AsyncSocket alloc] initWithDelegate:self];   
  2.     NSError *err = nil;   
  3.     if(![asyncSocket connectToHost:host on:port error:&err])   
  4.     {   
  5.         NSLog(@"Error: %@", err);   
  6.     }  

3.增加Socket響應(yīng)事件

因?yàn)閕nitWithDelegate把將當(dāng)前對象傳遞進(jìn)去,這樣只要在當(dāng)前對象方法實(shí)現(xiàn)相應(yīng)方法.

4.關(guān)于NSData對象

無論SOCKET收發(fā)都采用NSData對象.它的定義是

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSData_Class/Reference/Reference.html

NSData主要是帶一個(id)data指向的數(shù)據(jù)空間和長度 length.

NSString 轉(zhuǎn)換成NSData 對象

NSData 轉(zhuǎn)換成NSString對象

  1. NSData * data;  
  2.  
  3. NSString *result = [[NSString alloc] initWithData:data  encoding:NSUTF8StringEncoding]; 

4、發(fā)送數(shù)據(jù)

AsyncSocket  writeData    方法來發(fā)送數(shù)據(jù),它有如下定義

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

以下是一個實(shí)例語句.

  1. NSData* aData= [@"test data" dataUsingEncoding: NSUTF8StringEncoding];  
  2.        
  3. [sock writeData:aData withTimeout:-1 tag:1]; 

5、接收Socket數(shù)據(jù).

在onSocket重載函數(shù),有如定義采用是專門用來處理SOCKET的接收數(shù)據(jù)的.

  1. -(void) onSocket:(AsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag 

在中間將其轉(zhuǎn)換成NSString進(jìn)行顯示.

  1. NSString* aStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];      
  2.  NSLog(@"===%@",aStr);    
  3.    [aStr release];  

小結(jié):詳解iPhone AsyncSocket網(wǎng)絡(luò)庫編程的內(nèi)容介紹完了,希望本文對你有所幫助!

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2009-08-07 16:19:00

C#下數(shù)據(jù)庫編程

2009-08-07 16:19:00

C#下數(shù)據(jù)庫編程

2011-08-01 09:50:46

iPhone 獲取對象 UIView

2011-07-08 18:03:30

Cocoa Touch 網(wǎng)絡(luò)

2011-08-10 10:18:22

iPhone多線程線程

2011-07-28 14:19:12

iPhone 網(wǎng)絡(luò)編程 聊天程序

2011-07-26 18:11:56

iPhone Sqlite 數(shù)據(jù)庫

2011-07-27 10:16:41

iPhone SQLite 數(shù)據(jù)庫

2011-07-21 16:48:19

iPhone 游戲

2019-02-12 15:04:09

2011-06-03 10:19:59

iphone Objective-

2011-08-11 16:19:11

iPhoneCocoa

2011-07-27 15:47:09

iPhone Simulator 文件

2011-08-10 15:48:10

iPhone網(wǎng)絡(luò)

2011-08-03 16:35:10

iPhone UIView 動畫

2014-08-08 14:26:13

?i?f?c?o?n?linux

2012-09-24 14:09:31

C#網(wǎng)絡(luò)協(xié)議C

2022-03-29 10:55:10

Mysql數(shù)據(jù)庫

2010-10-20 09:41:37

卸載Oracle

2011-08-10 17:37:00

iPhoneASIHTTPRequ
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 成人在线| 亚洲日本视频 | 成人av在线播放 | 国产资源网 | 久久久免费少妇高潮毛片 | 在线婷婷| 成人午夜在线 | 亚洲精品68久久久一区 | 一本大道久久a久久精二百 国产成人免费在线 | 日韩欧美在线一区 | 男人的天堂在线视频 | 国产精品一级 | 91麻豆蜜桃一区二区三区 | 国产日韩欧美一区 | 久草成人 | 99精品免费 | 天天操夜夜爽 | 99精品观看 | 91在线一区 | 精品国产乱码一区二区三区 | 国产精品麻 | 亚洲精品中文字幕在线 | 久久久久久久久99 | 国产精品久久久久久久久久久久冷 | 久久91| www.亚洲精品 | 精品亚洲二区 | 国产日韩一区二区三免费高清 | 欧美日韩精品 | 久久久精彩视频 | 国产精品99久久久久久www | 日本三级做a全过程在线观看 | 亚洲三区在线播放 | 91亚洲欧美 | 在线一级片 | 黄色毛片在线观看 | 国产高清视频 | 一区二区三区四区在线播放 | 欧美午夜精品 | 999热在线视频 | 国产精品一区一区 |