通过 JavaScriptCore 使用 SocketIO v1.0.x
Socket.IO v1.0.0 是一个非常流行的实时框架的重大重构。不幸的是,通信协议发生了巨大变化,因此大多数现有的 obj-c 库都无法与 v1.0.x 版本协同工作。
该项目旨在通过 JavaScriptCore 将 obj-c 与官方框架桥接。
------------------------------
| socket.io obj-c |
------------------------------
⬆ ⬇
------------------------------
| UIWebView + JavaScriptCore |
------------------------------
⬆ ⬇
------------------------------
| socket.io JavaScript |
------------------------------
#import "SocketIO.h"
// This library is heavily inspired by the event emitter API of the official client
// Both SocketIO and Socket class are event emitter.
SocketIO *io = [[SocketIO alloc] init];
[io once:@"ready" listener:^{
Socket *socket = [io of:@"https://:8000" and:@{}];
[socket once:@"hi" listener:^{
// recieved response from server
}];
[socket emit:@"hi", nil];
[socket emit:@"giveMeDataViaAck", @{@"test": @true}, ^(id *data) {
// got response
}, nil];
}];
请参阅测试套件获取更多代码示例。
cd Test
npm install
pod install
open ../SocketIO.xcworkspace
npm start
MIT