标签: socketrocket

类是在两者中实现的.将使用两者之一

我有一个项目,它具有依赖(通过CocoaPods安装)使用SocketRocket并从HeapAnalytics导入一个静态库.显然,HeapAnalytics库已经使用了SocketRocket.编译时没有错误,但在运行时收到以下内容:

Class SRWebSocket is implemented in both [path] and [path].
One of the two will be used. Which one is undefined.
Run Code Online (Sandbox Code Playgroud)

我不知道如何处理它,因为我看到的大多数解决方案都需要自己编译静态库来更改类名等,而且我无法访问源代码.

有什么建议?

objective-c objective-c-runtime ios socketrocket

36
推荐指数
2
解决办法
4万
查看次数

WebSocket Connection未使用SocketRocket关闭

我使用Objective-C的SocketRocket库连接到websocket:

-(void)open {

if( self.webSocket ) {
    [self.webSocket close];
    self.webSocket.delegate = nil;
}

self.webSocket = [[SRWebSocket alloc] initWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"ws://192.168.0.254:5864"] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:20]];
self.webSocket.delegate = self;
[self.webSocket open];
}
Run Code Online (Sandbox Code Playgroud)

打开连接工作完全正常.建立连接后调用委托.

-(void)webSocketDidOpen:(SRWebSocket *)webSocket {

NSLog(@"WebSocket is open");

}
Run Code Online (Sandbox Code Playgroud)

但是,当我想关闭连接时,没有任何反应.

-(void)close {

if( !self.webSocket )
    return;

[self.webSocket close];
self.webSocket.delegate = nil;

}
Run Code Online (Sandbox Code Playgroud)

不会调用成功关闭连接的委托.谁能告诉我为什么会这样?

感谢您阅读我的问题.

connection objective-c websocket socketrocket

14
推荐指数
1
解决办法
6358
查看次数

SocketRocket无法在iOS 5.0上运行

我刚刚使用SocketRocket制作了一个简单的实时文本聊天应用程序.它在iOS 6.0和5.1上运行良好,但是当我尝试在连接时运行它时,我得到以下错误...

Websocket Failed With Error Error Domain=NSOSStatusErrorDomain Code=-9800 "The
operation couldn’t be completed. (OSStatus error -9800.)"
UserInfo=0x6e506e0 {}
Run Code Online (Sandbox Code Playgroud)

有谁知道这可能意味着什么或如何解决它?我浏览了github上的问题,但无法找到任何内容,它声称可以在iOS5 +上运行.

编辑:要添加,这是我在模拟器上测试的时候.我没有5.0的设备,所以我不确定手机是否以相同的方式失败.另外,如果我使用ws而不是wss(加密),它似乎工作正常.

objective-c websocket ios ios5 socketrocket

10
推荐指数
1
解决办法
1298
查看次数

SocketRocket尝试安装socketrocket后我可以让PonyDebugger工作,我得到3个Apple Match-O链接器错误

我正在挣扎.这是我第一次尝试安装这个,因为我需要Pony Debugger工作.

Undefined symbols for architecture i386:
  "_utf8_countTrailBytes", referenced from:
      _validate_dispatch_data_partial_string in libSocketRocket.a(SRWebSocket.o)
  "_utf8_nextCharSafeBody", referenced from:
      _validate_dispatch_data_partial_string in libSocketRocket.a(SRWebSocket.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)

非常感谢任何建议!

谢谢!

编辑:我添加了SocketRocket.Framework到构建阶段,错误消失了,但现在给我一个新的.

/Library/Developer/Xcode/DerivedData/ProjectIpaws-fxtqgpqcnolfqvgaeikbuxwzdbcv/Build/Products/Debug-iphonesimulator/SocketRocket/SocketRocket
Run Code Online (Sandbox Code Playgroud)

新的根本没有意义.

xcode cocoa-touch websocket ios socketrocket

9
推荐指数
2
解决办法
5615
查看次数

如何在socket.io中使用SocketRocket?

新的iOS websocket库SocketRocket看起来非常棒,聊天示例项目真的很棒.示例聊天服务器是用Python编写的,我不知道.我对node.js上的socket.io稍微熟悉,并且更喜欢尝试javascript.我尝试将SocketRocket TestChat模拟器应用程序连接到node.js(6.10)socket.io(0.8.7),但连接被拒绝.(另外,我也不是节点专家,所以这可能是一个愚蠢的问题).

在最近对SO 问题的回答中,mikelikespie对操作说:"我建议更新你的堆栈以​​使用我们刚刚发布的iOS WebSocket库."

这究竟是什么意思?有什么必要让SocketRocket库与节点socket.io服务器通信?非常感谢任何示例代码或建议.

websocket node.js ios socket.io socketrocket

8
推荐指数
1
解决办法
1万
查看次数

在本机ios和android中的signalR的客户端

1)如果我必须为使用SignalR的服务器开发本机IOS客户端,我可以使用

SocketRocket还是UnittWebSocketClient

2)客户端App不使用任何浏览器会有关系吗?

3)SignalR与.net 4.5中提供的Superwebsocket或microsoft的websocket有什么不同?他们都不支持rfc6455协议吗?

ios signalr socketrocket

8
推荐指数
2
解决办法
2万
查看次数

升级到新的 React-Native 版本并执行 pod install 会引发错误 CocoaPods 无法找到 pod“SocketRocket”的兼容版本

我尝试将react-native版本更新到最新的0.72.3并运行pod install,这导致了下一个错误

[!] CocoaPods could not find compatible versions for pod "SocketRocket":
  In snapshot (Podfile.lock):
    SocketRocket (= 0.6.0, ~> 0.6.0)

  In Podfile:
    React-Core/RCTWebSocket (from `../node_modules/react-native/`) was resolved to 0.72.3, which depends on
      SocketRocket (= 0.6.1)

Specs satisfying the `SocketRocket (= 0.6.0, ~> 0.6.0), SocketRocket (= 0.6.1)` dependency were found, but they required a higher minimum deployment target.

Run Code Online (Sandbox Code Playgroud)

可能是什么问题?有正常的解决方法吗?

cocoapods socketrocket react-native

7
推荐指数
1
解决办法
3907
查看次数

如何在iOS上调试iOS EXC_BAD_ACCESS KERN_INVALID_ADDRESS

我在使用SocketRocket时遇到iOS EXC_BAD_ACCESS错误,我想知道我可以做些什么来进一步调试问题,以确定问题是在我身边,还是在SocketRocket方面.

我得到的堆栈跟踪是:

Crashed: com.apple.main-thread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x2000000c
raw
0    libobjc.A.dylib     objc_msgSend + 5
1    OMlearnings         SRWebSocket.m line 692    __30-[SRWebSocket _failWithError:]_block_invoke_2
2    libdispatch.dylib   _dispatch_call_block_and_release + 10
10   UIKit               UIApplicationMain + 1136
11   OMlearnings         main.m line 16    main
Run Code Online (Sandbox Code Playgroud)

或者有时候

Crashed: NSOperationQueue Serial Queue
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0xc
raw
0    libobjc.A.dylib     objc_msgSend + 5
1    OMlearnings         SRWebSocket.m line 613    -[SRWebSocket scheduleInRunLoop:forMode:]
2    OMlearnings         SRWebSocket.m line 600    -[SRWebSocket _connect]
3    OMlearnings         OMSRealTimeTeamDashboard.m line 157    -[OMSRealTimeTeamDashboard sendMessage:]
4    OMlearnings         OMSRealTimeTeamDashboard.m line 171    -[OMSRealTimeTeamDashboard …
Run Code Online (Sandbox Code Playgroud)

ios socketrocket

6
推荐指数
1
解决办法
9207
查看次数

Domain = NSPOSIXErrorDomain Code = 61

我正在尝试使用SocketRocket连接客户端(iOS应用程序)和服务器(Node.js),如下所示.

的iOS(SocketRocket):

NSURL *url = [NSURL urlWithString:@"ws://localhost:8080"];
SRWebSocket *_socket = [SRWebSocket alloc] initWithURLRequest:[NSURLRequest requestWithURL:url];
_socket.delegate = self;
[_socket open];

/* SRWebSocketDelegate */
-(void)webSocketDidOpen:(SRWebSocket*)webSocket{
    [webSocket send:@"something"];
}
-(void)webSocket:(SRWebSocket*)webSocket didReceiveMessage:(id)message{
    NSLog(@"didReceiveMessage: %@",[message description]);
}
-(void)webSocket:(SRWebSocket*)webSocket didFailWithError:(NSError*)error{
    NSLog(@"the Error: %@",error);
}
Run Code Online (Sandbox Code Playgroud)

Node.js的(WS):

var WebSocketServer = require('ws').Server
var wss = new WebSocketServer({
    host:'localhost',
    port:8080
});
wss.on('connection',function(ws){
    ws.on('message',function(message){
        console.log('received: %s', message);
        ws.send(message);
    });
});
Run Code Online (Sandbox Code Playgroud)

然后,我收到以下消息:

the error: Error Domain=NSPOSIXErrorDomain Code=61 "The operation couldn’t be completed. Connection refused"
Run Code Online (Sandbox Code Playgroud)

我已经找到了解决这个问题的方法,但我无法找到解决方案.我该如何解决这个问题?

objective-c node.js ios socketrocket

6
推荐指数
1
解决办法
2452
查看次数

无论如何,.framework产品都是红色的

我正在尝试将此框架添加到项目中.我按照这些指示写了这封信:

  1. 将SocketRocket.xcodeproj添加为应用程序的子项目或工作区中.
  2. 将SocketRocket.framework添加到链接库
  3. 如果您没有Framework的"复制文件"步骤,请创建一个
  4. 将SocketRocket.framework添加到"复制文件"步骤.

我确定只打开了一个xcode实例,然后将SocketRocket.xcodeproj文件拖到我的项目中.我将.framework文件添加到链接库,创建了一个复制文件构建阶段,然后将.framework添加到复制文件构建阶段.

这是我尝试构建时遇到的错误:

clang:错误:没有这样的文件或目录:'/ Users/adamhickey/Library/Developer/Xcode/DerivedData/websockettest -fcuhfltporfkitgubwcjukxogzas/Build/Products/Debug-iphonesimulator/SocketRocket/SocketRocket'

这是非常正确的:该目录不存在.

在构建阶段,SocketRocket.framework在Link Binary With Libraries下是红色的.它在SocketRocket子项目的products文件夹中也是红色的.

我一直在谷歌搜索这个错误几个小时,我尝试过的大多数事情都指向我改变Xcode-> preferences-locations中的构建位置.我试过了:

  1. 把它设置为亲戚,选择我自己,然后进入高级并选择遗产.
  2. 建设一个设备
  3. 构建 - >归档
  4. 建设发布

如果我在一个单独的xcode实例中打开SocketRocket.xcodeproj并尝试构建它,那么这四个产品中有3个是红色的.产品包括:libSocketRocket.a,SRWebSocketTests.octest,TestChat.app和SocketRocket.framework.第一个是白色,而后三个是红色.

我假设如果我可以在单独的项目中构建.framework文件,这将解决我的整体问题.但是,我所做的一切似乎都没有任何效果.

请帮忙!我正在使用xcode 4.6.

xcode frameworks ios xcode4 socketrocket

5
推荐指数
1
解决办法
2431
查看次数