标签:style class blog code color com
服务器的方式要进行修改,改成sockt的,所以,往服务器传数据的方式,也要进行修改。查找相关库,找到了AsyncSocket库,果然不错。
1)首先向代码中加入AsyncSocket库。最好的加入方式,是把库的包放在工程的文件夹里。然后,在代码中右击加入到工程里面。
2)AsyncSocket库加入好后,运行一下代码,看有没有错误。这个时候通常是会有错误的。不用着急,这是ARC是其中捣鬼。我们只需在BuildPhases-->CompileSources->找到库的相关文件。然后,在其后面加上-fno-objc-arc.
3)重新运行代码,代码正常情况下应该顺利通过了。
4)好了,开始上正文代码。
.h部分
//AsyncSocket添加头文件 #import "AsyncSocket.h" @interface RootViewController : UIViewController <AsyncSocketDelegate> { AsyncSocket *_serverSocket; }
.m部分
//AsyncSocket添加头文件 #import "AsyncSocket.h" - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. // 连接服务器 _serverSocket=[[AsyncSocket alloc]initWithDelegate:self]; [_serverSocket connectToHost:@"42.121.132.104" onPort:8480 error:nil]; //上传数据到服务器 NSString *mes=@"123456"; NSData *data=[mes dataUsingEncoding:NSUTF8StringEncoding]; [_serverSocket writeData:data withTimeout:-1 tag:100]; } #pragma -mark -AsyncSocketDelegate -(void)onSocket:(AsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag { NSLog(@"收到数据成功"); NSString *dataStr=[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"----mes---%@",dataStr); [_serverSocket readDataWithTimeout:-1 tag:200]; } -(void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port { NSLog(@"连接服务器成功"); [_serverSocket readDataWithTimeout:-1 tag:300]; } -(void)onSocket:(AsyncSocket *)sock didWriteDataWithTag:(long)tag { NSLog(@"发送数据成功"); }
AsyncSocket开启socket编程,布布扣,bubuko.com
标签:style class blog code color com
原文地址:http://www.cnblogs.com/yang-guang-girl/p/3793356.html