gpt4 book ai didi

ios - SocketRocket 在连接无效主机时不会抛出错误

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

我正在开发一个 iPhone 应用程序(使用 iOS 9 beta)。我正在使用我正在使用的套接字连接 SocketRocket客户端库。但是当我尝试与一些无效的主机名建立 wss 连接时,我在打开套接字、连接甚至发送数据时都没有收到任何错误,所以每当我尝试运行程序时,主机信息似乎都是正确的,数据也是正确的正在发送。

我正在使用当前版本的 SocketRocket 库,我在我的项目中添加了 SRWebSocket.h、SRWebSocket.m 和 SocketRocket-Prefix.pch 文件。以下是我的部分代码:

NSString* url = [NSString stringWithFormat:@"wss://%@/myproject/stream?data=%d", webSocketHost, dummyData];
SRWebSocket *webSocket = [[SRWebSocket alloc] initWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];
webSocket.delegate = self;

// open websocket
[webSocket open];

// send message to websocket
[webSocket send:[self getJSONString:parameters]];

// close websocket
[webSocket close];
webSocket = nil;

如果我为变量 webSocketHost 传递一些随机主机名,如 "abc.def",它仍然会顺利运行(我在上面的代码周围有 try-catch block ,我还尝试在中间放置断点并逐行调试它)。即使我的手机没有任何互联网连接,也不会抛出任何错误。

有谁知道可能是什么问题?

谢谢!

最佳答案

您是否正在实现此委托(delegate)方法?当您调用 [webSocket open] 时,该库不会抛出错误,如果将来某个时间无法连接到端点,它会调用此方法,因为建立连接是一个异步操作。

- (void)webSocket:(SRWebSocket *)webSocket didFailWithError:(NSError *)error;

关于ios - SocketRocket 在连接无效主机时不会抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31418425/

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