gpt4 book ai didi

ios - SailsJS : How to call event from iOS client App using socket. io-客户端-swift

转载 作者:行者123 更新时间:2023-11-29 11:43:51 28 4
gpt4 key购买 nike

我在我的 FaceController 文件中有测试 Action 寻找事件的乐趣

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]];
}];

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

最佳答案

我最近在向我的 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)!)
}

希望对您有所帮助。

谢谢

关于ios - SailsJS : How to call event from iOS client App using socket. io-客户端-swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45056364/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com