标签: socketrocket

SocketRocket - 无效的Sec-WebSocket-Accept

当尝试使用SocketRocket连接到自定义套接字服务器时,我收到错误:

Error Domain=SRWebSocketErrorDomain Code=2133 "Invalid Sec-WebSocket-Accept response" UserInfo=0x8f6af00 {NSLocalizedDescription=Invalid Sec-WebSocket-Accept response}
Run Code Online (Sandbox Code Playgroud)

我已将此链接回_HTTPHeadersDidFinish中的_checkHandshake方法._checkHandshake方法正在执行以下操作:

NSString *acceptHeader = CFBridgingRelease(CFHTTPMessageCopyHeaderFieldValue(httpMessage, CFSTR("Sec-WebSocket-Accept")));
Run Code Online (Sandbox Code Playgroud)

我发现了这个问题,并且有最新版本的socketrocket,但似乎没有用?

https://github.com/square/SocketRocket/issues/24

请让我知道如何解决这个错误(SocketRocket - 无效的Sec-WebSocket-Accept)

iphone objective-c ios socketrocket

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

是否有更稳定或积极开发的SocketRocket分支?

我一直在使用SocketRocket进行一些项目,并注意到SocketRocket有很多未解决的问题并且有问题.我亲自修补了一些我遇到的崩溃事件.

Square过去一年似乎没有维持SocketRocket.是否有另一个他们的回购分支被认为更稳定/权威?

我甚至愿意考虑一个替代库,甚至可能是一个用C/C++编写的库,如果它可以与ObjC编码模式一起使用.

objective-c websocket ios socketrocket

5
推荐指数
0
解决办法
229
查看次数

Web套接字:无法在Internet断开连接上检测到客户端连接

如果客户端使用Web套接字关闭Internet,我想检测客户端连接。我的代码是:

 //Include util library
    var util = require('util');
    // Include underscore library
    var _ = require('underscore')._;
    //For websocket
var webSocketServer = new (require('ws')).Server({port: (process.env.PORT || 5000)}),
webSockets = {} // userID: webSocket

// CONNECT /:userID
// wscat -c ws://localhost:5000/1
webSocketServer.on('connection', function (webSocket) 
{
  var userID = webSocket.upgradeReq.url.substr(1);
  //console.log('User_id is ',userID);
  webSockets[userID] = webSocket
                   util.log('User_id: [' + userID + '] enter in connected users list of [ ' + Object.getOwnPropertyNames(webSockets)+' ]')
                   // Call function which check id exist in letswalkee DB …
Run Code Online (Sandbox Code Playgroud)

sockets websocket node.js npm socketrocket

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

如何防止web socket DDOS攻击?

我刚刚从我的电脑上执行了一个基本的 DDOS:

websocket-bench -a 2500 -c 200 wss://s.example.com
Run Code Online (Sandbox Code Playgroud)

令我沮丧的是,我的服务器崩溃了!WS 通过连接到我的 nginx 代理来工作:

    location / {
            proxy_pass http://sock;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header        X-Real-IP               $remote_addr;
            proxy_read_timeout 60;
    }

    upstream sock {
            server 127.0.0.1:1203 fail_timeout=1s;
    }
Run Code Online (Sandbox Code Playgroud)

和本地服务器上的端口1203棘轮。棘轮的设置是我允许任何连接,第一个onMessage执行身份验证,如果无效则关闭连接。

我还尝试通过在第一个连接上传递标头来进行身份验证,如果无效,套接字将关闭,但这根本没有帮助,nginx 仍然达到 100% 资源,然后崩溃。

我应该分析什么来防止这些崩溃?

当将上游更改为另一个关闭的端口(即禁用它)时,服务器仍然崩溃。

php nginx ratchet socketrocket

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

打开 .xcworkspace 时出错

我在我的项目中集成了 pod,特别是 SignalR、AFNetworking 和 SocketRocket。它已成功安装,但是当我打开 .xcworkspace 时,此错误显示:

在此处输入图片说明

这是项目导航器的样子

有没有人遇到过这种错误?提前致谢。

更新:我的 .xcodeproj 已经出现。但是框架显示为红色。我该如何解决这个问题?

在此处输入图片说明

ios signalr afnetworking cocoapods socketrocket

3
推荐指数
1
解决办法
6453
查看次数

SocketRocket和iOS证书固定

我目前正在使用SocketRocket作为我的iOS应用程序的WebSocket实现,并希望将我的服务器CA作为具有SR_SSLPinnedCertificates属性的可信证书.我正在寻找一个加载一个或多个证书以传递到SocketRocket的好例子.我有以下代码可以工作,但我不确定它是否正确或是否有更直接的方法.

CFArrayRef keyref = NULL;
NSString *path = [[NSBundle mainBundle] pathForResource:@"certificate" ofType:@"p12"];
NSData *data = [[NSData alloc] initWithContentsOfFile:path];
OSStatus status = SecPKCS12Import((__bridge CFDataRef)data, (__bridge CFDictionaryRef)[NSDictionary dictionaryWithObject:@"eftl_key_pass" forKey:(__bridge id)kSecImportExportPassphrase], &keyref);
if (status == noErr) {
    CFDictionaryRef identityDict = CFArrayGetValueAtIndex(keyref, 0);
    SecIdentityRef identityRef = (SecIdentityRef)CFDictionaryGetValue(identityDict, kSecImportItemIdentity);
    SecCertificateRef certRef = NULL;
    SecIdentityCopyCertificate(identityRef, &certRef);
}
Run Code Online (Sandbox Code Playgroud)

truststore ios socketrocket

2
推荐指数
1
解决办法
2484
查看次数