AsyncSocket开启socket编程

服务器的方式要进行修改,改成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编程

时间: 2025-01-08 17:08:46

AsyncSocket开启socket编程的相关文章

iphone使用开源代码Asyncsocket进行socket编程

iphone的标准推荐CFNetwork C库编程.但是编程比较烦躁.在其它OS往往用类来封装的对Socket函数的处理.比如MFC的CAsysncSocket.在iphone也有类似于开源项目.cocoa AsyncSocket库, 官方网站:http://code.google.com/p/cocoaasyncsocket/;它用来简化CFnetwork的调用. 一.在项目引入ASyncSocket库 1.下载ASyncSocket库源码 2.把ASyncSocket库源码加入项目:只需要增

IOS使用Asyncsocket进行socket编程

iphone的标准推荐CFNetwork C库编程.但是编程比较烦躁.在其它OS往往用类来封装的对Socket函数的处理.比如MFC的CAsysncSocket.在iphone也有类似于开源项目.cocoa AsyncSocket库, 官方网站:http://code.google.com/p/cocoaasyncsocket/ 它用来简化CFnetwork的调用. 一.在项目引入ASyncSocket库 1.下载ASyncSocket库源码 2.把ASyncSocket库源码加入项目:只需要增

python网络编程之socket编程

一 客户端/服务器架构 即C/S架构,包括 1.硬件C/S架构(打印机) 2.软件C/S架构(web服务) 美好的愿望: 最常用的软件服务器是 Web 服务器.一台机器里放一些网页或 Web 应用程序,然后启动 服务.这样的服务器的任务就是接受客户的请求,把网页发给客户(如用户计算机上的浏览器),然 后等待下一个客户请求.这些服务启动后的目标就是"永远运行下去".虽然它们不可能实现这样的 目标,但只要没有关机或硬件出错等外力干扰,它们就能运行非常长的一段时间. 生活中的C/S架构: 商

IOS socket编程--Asyncsocket

iPhone的标准推荐是CFNetwork 库编程,其封装好的开源库是 cocoa AsyncSocket库,用它来简化CFNetwork的调用,它提供了异步操作 主要特性有: 队列的非阻塞的读和写,而且可选超时.你可以调用它读取和写入,它会当完成后告知你 自动的socket接收.如果你调用它接收连接,它将为每个连接启动新的实例,当然,也可以立即关闭这些连接 委托(delegate)支持.错误.连接.接收.完整的读取.完整的写入.进度以及断开连接,都可以通过委托模式调用 基于run loop的,

02-【IOS网络编程】socket编程 - Asyncsocket

socket编程Asyncsocket iPhone的标准推荐是CFNetwork 库编程,其封装好的开源库是 cocoa AsyncSocket库,用它来简化CFNetwork的调用,它提供了异步操作 主要特性有: 队列的非阻塞的读和写,而且可选超时.你可以调用它读取和写入,它会当完成后告知你 自动的socket接收.如果你调用它接收连接,它将为每个连接启动新的实例,当然,也可以立即关闭这些连接 委托(delegate)支持.错误.连接.接收.完整的读取.完整的写入.进度以及断开连接,都可以通

总结一下前两天刚尝试的socket编程-使用AsyncSocket

说来惭愧,搞了两年ios居然木有用过socket...初学ios的时候倒是了解过,但是两年不用,之前学的内容已经完全忘光光.于是又开始网上各种查. 用cf的socket貌似显得很拽的样子,但是实在不适合我这种领导紧逼着出项目的情况.搜了下发现目前最常用的socket库应该就是AsyncSocket了.嗯,看起来很简单,搞it~ 这个库有基于runloop和GCD两种,据我一哥们说runloop版本是基于timer机制实现异步处理,会跟scroller的滚动动画冲突.我暂时还没有验证他的说法,不过

Socket编程(简易聊天室客户端/服务器编写、CocoaAsyncSocket)

Socket编程(简易聊天室客户端/服务器编写.CocoaAsyncSocket) 一.Socket 1.1 Socket简介 Socket就是为网络服务提供的一种机制.网络通信其实就是Socket间的通信,通信的两端都是Socket,数据在两个Socket间通过IO传输. 在Web服务大行其道的今天,调用Web服务的代价是高昂的,尤其是仅仅是抓取少量数据的时候尤其如此.而使用Socket,可以只传送数据本身而不用进行XML封装,大大降低数据传输的开销.Socket允许使用长连接,允许应用程序运

读懂Java中的Socket编程(转)

Socket,又称为套接字,Socket是计算机网络通信的基本的技术之一.如今大多数基于网络的软件,如浏览器,即时通讯工具甚至是P2P下载都是基于Socket实现的.本文会介绍一下基于TCP/IP的Socket编程,并且如何写一个客户端/服务器程序. 餐前甜点 Unix的输入输出(IO)系统遵循Open-Read-Write-Close这样的操作范本.当一个用户进程进行IO操作之前,它需要调用Open来指定并获取待操作文件或设备读取或写入的权限.一旦IO操作对象被打开,那么这个用户进程可以对这个

Python Socket编程

因需要做一个监测TCP数据内容的小插件,学习了局域网内部的封装好的传输软件Socket: 一.Socket的简介如下: 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. 建立网络通信连接至少要一对端口号(socket).socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员 做网络开发所用的接口,这就是Socket编程接口:HTTP是轿车,提供了封装或者显示数据的具体形式:Socket是发动机, 提供了网络通信的能力.