【问题标题】:SailsJS: How to call event from iOS client App using socket.io-client-swiftSailsJS:如何使用 socket.io-client-swift 从 iOS 客户端应用程序调用事件
【发布时间】:2017-07-12 11:25:33
【问题描述】:

我在我的 FaceController 文件中有测试动作来寻找有趣的事件

test: function(req,socket){
  console.log("SERVER LOG: Entered Socket Test");
  socket.on('fun', function(data){
  console.log("FUN FUN FUN");
  socket.emit('world', {name:"Anuj",message:"U Got it!!!"});
});

这是我的 routes.js 中的代码

 'get /faces/socket': 'FaceController.test',

我在我的 Obj-c 项目中使用 Socket-io-client-swift。我能够连接到服务器但无法发出事件。下面是我用来发出事件的代码:

NSURL* url = [[NSURL alloc] initWithString:@"http://localhost:1337"];

self.socket = [[SocketIOClient alloc] initWithSocketURL:url config:@{@"log": @YES, @"forcePolling": @YES,@"connectParams":@{@"__sails_io_sdk_version": @"0.11.0"}}];

[self.socket on:@"connect" callback:^(NSArray* data, SocketAckEmitter* ack) {

    NSLog(@"socket connected");

    NSMutableDictionary *dict = [NSMutableDictionary dictionary];

    [dict setObject:@"/faces/socket" forKey:@"url"];

    NSDictionary *eventDict = @{@"fun": @""};

    [dict setObject:eventDict forKey:@"data"];

    [self.socket emit:@"get" with:@[dict]];    
}];

有人可以提供将事件发送到服务器的正确方法吗?谢谢!!!

【问题讨论】:

    标签: ios socket.io sails.js


    【解决方案1】:

    我最近在发送虚拟帖子和向我的 Sails 服务器获取请求时遇到了同样的问题。最后我从here得到了解决方案。

    这是我的帖子示例,来自客户端 iOS Swift。

    连接到服务器

    socket = SocketIOClient(socketURL: URL(string: "http://localhost:1337")!, config: [.log(false), .compress, .forceWebsockets(true), .connectParams(["__sails_io_sdk_version":"0.12.13"])])
    

    发布请求示例:

    socket.emitWithAck("post",["data": ["userid":"1","name": "Hello World2"], "url": "/faces/socket"]).timingOut(after: 0) {data in
        print("socket id with ack------------>", (socket.engine?.sid)!)
    }
    

    获取请求:

    socket.emitWithAck("get",["url": "/userchat"]).timingOut(after: 0) {data in
        print("get with ack------------>", (socket.engine?.sid)!)
    }
    

    希望这会对你有所帮助。

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-21
      • 2017-04-04
      • 1970-01-01
      • 2012-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多