导入头文件后即可使用.
为求稳定,我的做法是copy的FaceBook里SocketRocket库到项目里. --> SocketRocket地址
1.首先创建一个名为 WebSocketManager 的单例类,
+(instancetype)shared;
2.创建一个枚举,分别表示WebSocket的链接状态
typedef NS_ENUM(NSUInteger,WebSocketConnectType){
WebSocketDefault = 0, //初始状态,未连接,不需要重新连接
WebSocketConnect, //已连接
WebSocketDisconnect //连接后断开,需要重新连接
};
3.创建连接
//建立长连接
- (void)connectServer;
4.处理连接成功的结果;
-(void)webSocketDidOpen:(RMWebSocket *)webSocket; //连接成功回调
5.处理连接失败的结果
- (void)webSocket:(SRWebSocket *)webSocket didFailWithError:(NSError *)error;//连接失败回调
6.接收消息
///接收消息回调,需要提前和后台约定好消息格式.
- (void)webSocket:(SRWebSocket *)webSocket didReceiveMessageWithString:(nonnull NSString *)string
7.关闭连接
- (void)webSocket:(SRWebSocket *)webSocket didCloseWithCode:(NSInteger)code reason:(NSString *)reason wasClean:(BOOL)wasClean;///关闭连接回调的代理
8.为保持长链接的连接状态,需要定时向后台发送消息,就是俗称的:心跳包.










