自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

IOS實例 實現(xiàn)基于Socket TCP/IP通訊

移動開發(fā) iOS
本文介紹的是IOS實例 實現(xiàn)基于Socket TCP/IP通訊,不多說,先來看本文詳細內(nèi)容。

IOS實例 實現(xiàn)基于Socket TCP/IP通訊是本文要介紹的內(nèi)容,之前寫過基于http的網(wǎng)絡傳輸層的通訊,現(xiàn)在項目需要實現(xiàn)tcp/ip的通訊協(xié)議,通過網(wǎng)絡查找了一下,已經(jīng)有人寫好了公開的類庫AsyncSocket,下面介紹一下AsyncSocket的使用方法??梢詤⒖糀syncSocket的官方文檔。

使用方法如下:

1、創(chuàng)建工程。

2、把AsyncSocket添加到項目中。

3、添加CFNetwork.framework到工程中。

4、實現(xiàn)測試類:

  1. #import <UIKit/UIKit.h>   
  2. #import "AsyncSocket.h"   
  3. @interface iphone_socketViewController : UIViewController {   
  4.  
  5.     AsyncSocket *asyncSocket;   
  6. }   
  7.  
  8. @end 

相應的方法實現(xiàn):

  1. #import "iphone_socketViewController.h"   
  2. @implementation iphone_socketViewController   
  3. - (void)viewDidLoad {   
  4.     [super viewDidLoad];   
  5.     asyncSocket = [[AsyncSocket alloc] initWithDelegate:self];   
  6.     NSError *err = nil;   
  7.    if(![asyncSocket connectToHost:@"192.168.0.113" onPort:25001 error:&err])   
  8.     {   
  9.         NSLog(@"Error: %@", err);   
  10.     }   
  11. }   
  12. - (void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port   
  13. {   
  14.     NSLog(@"onSocket:%p didConnectToHost:%@ port:%hu", sock, host, port);   
  15.     [sock readDataWithTimeout:1 tag:0];   
  16. }   
  17. -(void) onSocket:(AsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag   
  18. {   
  19.     NSString* aStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];   
  20.     NSLog(@"===%@",aStr);   
  21.     [aStr release];   
  22.     NSData* aData= [@"<xml>我喜歡你<xml>" dataUsingEncoding: NSUTF8StringEncoding];   
  23.     [sock writeData:aData withTimeout:-1 tag:1];   
  24.     [sock readDataWithTimeout:1 tag:0];   
  25. }   
  26. - (void)onSocket:(AsyncSocket *)sock didSecure:(BOOL)flag   
  27. {   
  28.         NSLog(@"onSocket:%p didSecure:YES", sock);   
  29. }   
  30. - (void)onSocket:(AsyncSocket *)sock willDisconnectWithError:(NSError *)err   
  31. {   
  32.     NSLog(@"onSocket:%p willDisconnectWithError:%@", sock, err);   
  33. }   
  34. - (void)onSocketDidDisconnect:(AsyncSocket *)sock   
  35. {   
  36.     //斷開連接了   
  37.     NSLog(@"onSocketDidDisconnect:%p", sock);   
  38. }   
  39. - (void)didReceiveMemoryWarning {   
  40.     [super didReceiveMemoryWarning];   
  41. }   
  42. - (void)viewDidUnload {   
  43.     asyncSocket=nil;   
  44. }   
  45. - (void)dealloc {   
  46.     [asyncSocket release];   
  47.     [super dealloc];   
  48. }   
  49. @end 

這里只實現(xiàn)了簡單的客戶端,關于服務器的實現(xiàn),是采用pathy寫的。在源代碼中有。

編譯運行結果:

服務器端:

  1. bogon:iosworkspace vsp$ ./Servers.py  

客戶端的IP是: (’192.168.0.169′, 54851)

<xml>我喜歡你<xml>

后來發(fā)的數(shù)據(jù)

客戶端:

  1. 2010-12-27 19:14:47.723 iphone.socket[3186:307] WB:Notice: WinterBoard   
  2. 2010-12-27 19:14:48.892 iphone.socket[3186:307] onSocket:0x16bd00 didConnectToHost:192.168.0.113 port:25001   
  3. 2010-12-27 19:14:48.897 iphone.socket[3186:307] ===我是服務器端的數(shù)據(jù)   
  4. 2010-12-27 19:14:48.911 iphone.socket[3186:307] ===我不喜歡你   
  5. 2010-12-27 19:14:48.918 iphone.socket[3186:307] onSocket:0x16bd00 willDisconnectWithError:(null)   
  6. 2010-12-27 19:14:48.928 iphone.socket[3186:307] onSocketDidDisconnect:0x16bd00 

源代碼:http://easymorse-iphone.googlecode.com/svn/trunk/iphone.socket/

小結:IOS實例 實現(xiàn)基于Socket TCP/IP通訊的內(nèi)容介紹完了,希望本文對你有所幫助。

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

2015-05-28 10:34:16

TCPsocket

2009-04-09 10:11:00

TCPIP通訊

2010-01-21 11:19:44

TCP Socketlinux

2010-06-13 14:49:40

TCP IP協(xié)議優(yōu)化

2013-03-04 09:59:04

路由器TCPIP

2015-04-24 09:48:59

TCPsocketsocket編程

2021-08-04 08:55:02

Socket Java開發(fā)

2021-06-16 07:34:32

Pythonsocket庫Python基礎

2015-03-03 13:47:34

HttpTCPIP

2011-07-18 09:47:20

ModBusC#

2009-08-20 16:33:44

Socket異步通訊

2012-03-19 11:41:30

JavaSocket

2024-02-02 09:14:55

TCP協(xié)議Socket編程WPF

2011-06-22 17:36:50

QT Linux 串口

2011-08-19 15:32:06

2019-07-30 14:35:58

TCPIP模型

2011-07-22 16:47:53

iOS 通知 xcode

2011-09-22 13:34:24

2017-06-22 09:02:40

TCPIP重組

2011-01-18 13:42:18

Linuxsocket性能
點贊
收藏

51CTO技術棧公眾號