ios實現基於socket tcp ip的通訊

2021-07-14 10:39:27 字數 1758 閱讀 5924

asyncsocket的官方文件:

使用方法如下:

1、建立工程。

2、把asyncsocket新增到專案中。

3、新增cfnetwork.framework到工程中。

4、實現測試類:

#import

#import "asyncsocket.h" 

@inte***ce iphone_socketviewcontroller : uiviewcontroller

@end

相應的方法實現:

#import "iphone_socketviewcontroller.h" 

@implementation iphone_socketviewcontroller 

- (void)viewdidload  

} - (void)onsocket:(asyncsocket *)sock didconnecttohost:(nsstring *)host port:(uint16)port 

-(void) onsocket:(asyncsocket *)sock didreaddata:(nsdata *)data withtag:(long)tag 

- (void)onsocket:(asyncsocket *)sock didsecure:(bool)flag 

- (void)onsocket:(asyncsocket *)sock willdisconnectwitherror:(nserror *)err 

- (void)onsocketdiddisconnect:(asyncsocket *)sock 

- (void)didreceivememorywarning  

- (void)viewdidunload  

- (void)dealloc  

@end

這裡只實現了簡單的客戶端,關於伺服器的實現,是採用pathy寫的。在源**中有。

編譯執行結果:

伺服器端:

bogon:iosworkspace vsp$ ./servers.py 

客戶端的ip是: (』192.168.0.169′, 54851) 

我喜歡你

————– 

後來發的資料——-

客戶端:

2010-12-27 19:14:47.723 iphone.socket[3186:307] wb:notice: winterboard 

2010-12-27 19:14:48.892 iphone.socket[3186:307] onsocket:0x16bd00 didconnecttohost:192.168.0.113 port:25001 

2010-12-27 19:14:48.897 iphone.socket[3186:307] ===我是伺服器端的資料 

2010-12-27 19:14:48.911 iphone.socket[3186:307] ===我不喜歡你 

2010-12-27 19:14:48.918 iphone.socket[3186:307] onsocket:0x16bd00 willdisconnectwitherror:(null) 

2010-12-27 19:14:48.928 iphone.socket[3186:307] onsocketdiddisconnect:0x16bd00

基於註解實現

用於記錄日誌的工具類,它裡面提供了公共的 component logger aspect 表示當前類是乙個切面類 public class logger 前置通知 before pt1 public void beforeprintlog 後置通知 afterreturning pt1 public...

IOS學習之基於IOS7的tab bar

什麼是tabbar?先幾張圖 上圖中藍色框起來的部分就是tabbar,它有例如以下幾個特徵 1 它通常位於螢幕的最下方,不是必定,但大部分情況是這樣。2 tab bar的每乙個選項 常表示不同的功能。這也是它與segmentedcontrol最重要的差別,後者強調的是同一功能不同類別的區分,前者則是...

iOS訊息機制基於廣播模型

ios訊息機制基於廣播模型 訊息中心 nsnotificationcenter 是基於程序的單件例項 訊息佇列 nsnotificationqueue 是基於執行緒的,每個執行緒都有乙個預設的訊息佇列,這個佇列相關聯於訊息中心,每個訊息中心或執行緒可以關聯於多個佇列。訊息中心是採用同步方式 訊息佇列...