iOS_SN_Socket - AsyncSocket】的更多相关文章

转载文章,原地址:http://yimouleng.com/2015/02/04/Socket-AsyncSocket/ 一.前言 公司的项目用到了Socket编程,之前在学习的过程当中,用到的更多的还是http请求的方式.但是既然用到了就必须学习一下,所以就在网上找一些例子,然后想自己写一个demo.可是发现很多写iOS Socket的博客并没有很详细的说明,也可能是大神们觉得其他东西都浅显易懂. 自己专研了一下,将自己的一些理解总结出来,一方面整理自己的学习思路,另一方面,为一些和我有同样困…
iphone的标准推荐CFNetwork C库编程.但是编程比较烦躁.在其它OS往往用类来封装的对Socket函数的处理.比如MFC的CAsysncSocket.在iphone也有类似于开源项目.cocoa AsyncSocket库, 官方网站:http://code.google.com/p/cocoaasyncsocket/ 它用来简化CFnetwork的调用. 一.在项目引入ASyncSocket库 1.下载ASyncSocket库源码 2.把ASyncSocket库源码加入项目:只需要增…
导入AsyncSocket.h  AsyncSocket.m   AsyncUdpSocket.h   AsyncUdpSocket.m   以及  CFNetWork.framework asyncSocket = [[AsyncSocketalloc] initWithDelegate:self]; NSError *err = nil; if(![asyncSocketconnectToHost:@"www.baidu.com"onPort:80error:&err])…
Socket描述了一个IP.端口对.它简化了程序员的操作,知道对方的IP以及PORT就可以给对方发送消息,再由服务器端来处理发送的这些消息.所以,Socket一定包含了通信的双发,即客户端(Client)与服务端(server). 1)服务端利用Socket监听端口: 2)客户端发起连接: 3)服务端返回信息,建立连接,开始通信: 4)客户端,服务端断开连接. 1套接字(socket)概念 套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元. 应用层通过传输层进行…
AsyncSocket使用流程 安装AsyncSocket 拷贝AsyncSocket类到项目 使用AsyncSocket set delegate @interface NetWork : NSObject<AsyncUdpSocketDelegate,AsyncSocketDelegate> init socket mainTcpSocket = [[AsyncSocket alloc] initWithDelegate:self]; connect if (![mainTcpSocket…
今天使用AsyncSocket模拟及时通信,在这里记录一下,免得以后自己又犯相同的错误 1>创建客户端和服务器socket /** * 设置socket */ - (void)setupSocket { //1.客户端socket _clientSocket = [[AsyncSocket alloc] initWithDelegate:self]; //2. 启用定时器连接服务器 [NSTimer scheduledTimerWithTimeInterval:1.0f target:self…
用socket可以实现像QQ那样发送即时消息的功能.客户端和服务端需要建立长连接,在长连接的情况下,发送消息.客户端可以发送心跳包来检测长连接. 在iOS开发中使用socket,一般都是用第三方库AsyncSocket,不得不承认这个库确实很强大.下载地址CocoaAsyncSocket. 使用AsyncSocket的时候可以做一层封装,根据需求提供几个接口出来.比如:连接.断开连接.发送消息等等.还有接受消息,接受到的消息可以通过通知.代理.block等传出去. 简单介绍一下对AsyncSoc…
使用背景:需要跟服务器长期保持连接进行即时通讯:还有在跟智能硬件建立实时链接进行同步智能硬件的状态等,最近我就做项目就碰到需要实时更新智能硬件的状态(比如智能硬件的电量,以及其它工作状态),跟智能硬件通讯中间是通过了服务器的,所以要实时跟服务器建立连接.具体实现如下: 使用步骤: 1.导入AsyncSocket.m/AsyncSocket.h文件到xcode工程中去. 2.添加CFNetwork.framework框架. 3.导入#import "AsyncSocket.h"头文件.…
project正在使用长连接快来server沟通.因此,指定我们的协议前两个字节为数据长度来区分数据包 app这边数据有两种传输形式: 1.app主动请求所须要的数据: 2.app异步接收来自服务端的推送消息,也就是app这边没有请求.服务端主动发送数据到appclient. 整个app执行期间,它们都是在同一个连接上完毕的传输数据.因此会出现下面的问题: 1.server传输数据过快,出现粘包的问题,比如 1.1服务端一次发来多个推送消息: 1.2网络不稳定,client连续发送多个请求cli…
1.AsyncSocket介绍 如果需要在项目中像QQ微信一样做到即时通讯,必须使用socket通讯. iOS中Socket编程的方式: BSD Socket: BSD Socket 是UNIX系统中通用的网络接口,它不仅支持各种不同的网络类型,而且也是一种内部进程之间的通信机制.而iOS系统其实本质就是UNIX,所以可以用,但是比较复杂. CFSocket: CFSocket是苹果提供给我们的使用Socket的方式,但是用起来还是会不太顺手.当然想使用的话,可以细细研究一下. AsyncSoc…