码迷,mamicode.com
首页 > 其他好文 > 详细

AsyncSocket开启socket编程

时间:2014-06-18 08:57:18      阅读:212      评论:0      收藏:0      [点我收藏+]

标签: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

AsyncSocket开启socket编程

标签:style   class   blog   code   color   com   

原文地址:http://www.cnblogs.com/yang-guang-girl/p/3793356.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!