小编Siv*_*der的帖子

socketIO客户端默认监听哪个端口?

如果未在客户端的io.connect()函数中指定端口,客户端将侦听哪个端口?

例如:

var socket = io.connect('http://example.com/'); // listening to port 80?
Run Code Online (Sandbox Code Playgroud)

我问的原因是因为我在heroku上部署了这个应用程序的服务器端.前端是IOS应用程序.我用于前端的目标C socketIO库(https://github.com/pkyeck/socket.IO-objc)要求我指定一个端口.但是我不确定我应该听哪个端口,因为这在服务器端不是静态的.

我用javascript编写客户端程序进行测试,当我没有指定端口时它可以工作.

任何帮助将非常感激.

heroku node.js socket.io

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

AWS s3 api错误:指定的存储桶不存在

我正在使用节点AWS SDK将图像保存到s3.尽管存在存储桶并且我具有正确的权限,但我仍然收到以下错误:

{ [NoSuchBucket: The specified bucket does not exist]
  message: 'The specified bucket does not exist',
  code: 'NoSuchBucket',
  time: Tue Oct 21 2014 12:32:50 GMT-0400 (EDT),
  statusCode: 404,
  retryable: false }
Run Code Online (Sandbox Code Playgroud)

我的nodejs代码:

var fs = require('fs');

var AWS = require('aws-sdk'); //AWS library (used to provide temp credectials to a front end user)
AWS.config.loadFromPath('./AWS_credentials.json'); //load aws credentials from the     authentication text file



var s3 = new AWS.S3();

fs.readFile(__dirname + '/image.jpg', function(err, data) {

var params = {
    Bucket: 'https://s3.amazonaws.com/siv.io',
    Key: …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services node.js

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

如何从我的 C 程序进行系统调用

如何从我的 C 程序进行系统调用。例如,如何调用以下函数?我必须包含哪些标题?

asmlinkage long sys_exit(int error_code);
Run Code Online (Sandbox Code Playgroud)

c system-calls linux-kernel

6
推荐指数
2
解决办法
5133
查看次数

int(* func)()在C中做什么?

这行代码在C中做什么?

 int (*func)();
Run Code Online (Sandbox Code Playgroud)

我从以下应该执行字节代码的程序中提取了该文件(汇编指令转换为相应的字节)

char code[] = "bytecode will go here!";
int main(int argc, char **argv)
{
  int (*func)();
  func = (int (*)()) code;
  (int)(*func)();
}
Run Code Online (Sandbox Code Playgroud)

c

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

将地址转换为符号+偏移量

在windbg中,有没有办法将地址转换为符号+偏移量?

例如:

66ef0c17 = MSPTLS!LssbFIsSublineEmpty+0x115f
Run Code Online (Sandbox Code Playgroud)

windbg

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

SocketIO websocket握手与RFC 6455描述的不同

我试图了解有关websockets协议的更多信息.根据RFC 6455,此协议的步骤是握手,它以HTTP升级请求开头:

 GET /chat HTTP/1.1
    Host: server.example.com
    Upgrade: websocket
    Connection: Upgrade
    Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
    Origin: http://example.com
    Sec-WebSocket-Protocol: chat, superchat
    Sec-WebSocket-Version: 13 
Run Code Online (Sandbox Code Playgroud)

服务器使用HTTP Switching Protocols消息响应:

HTTP/1.1 101 Switching Protocols
    Upgrade: websocket
    Connection: Upgrade
    Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
    Sec-WebSocket-Protocol: chat
Run Code Online (Sandbox Code Playgroud)

我试图使用一个基于socketIO的简单程序(nodeJS websockets库)观察到这一点.捕获流量后,我注意到客户端发送服务器的第一条消息是:

GET /socket.io/?EIO=3&transport=polling&t=1443149751115-0 HTTP/1.1
Host: localhost
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36            (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36
Origin: null
Accept: */*
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
Run Code Online (Sandbox Code Playgroud)

服务器响应的:

HTTP/1.1 200 OK
Content-Type: application/octet-stream
Content-Length: 101
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: null …
Run Code Online (Sandbox Code Playgroud)

websocket socket.io

4
推荐指数
1
解决办法
2190
查看次数

在nodejs中使用匿名函数

编写nodejs模块时是否可以使用匿名函数.我知道我们使用匿名函数来限制用于特定模块的变量/函数的范围.但是,在nodejs中,我们使用modules.exports在模块外部创建一个函数或变量,因此不应该使用匿名函数吗?

我问这个的原因是因为流行的节点模块(如async.js)广泛使用匿名函数.

匿名函数示例

1)test_module.js

(function(){

var test_module = {}; 
var a = "Hello";
var b = "World";

test_module.hello_world = function(){

    console.log(a + " " + b);

};

module.exports = test_module;


}());
Run Code Online (Sandbox Code Playgroud)

2)test.js

var test_module = require("./test_module");

test_module.hello_world();


try {   
    console.log("var a is " + a + "in this scope");
}
catch (err){

    console.log(err);
}

try {   
    console.log("var a is " + b + "in this scope");
}
catch (err){

    console.log(err);
}
Run Code Online (Sandbox Code Playgroud)

输出:

Hello World
[ReferenceError: a is not defined]
[ReferenceError: …
Run Code Online (Sandbox Code Playgroud)

javascript node.js

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

根据堆内的内存地址查找分配堆的函数

所以我知道一个内存地址(例如:12208e6c)在一个特定的堆中.使用windbg,有没有办法确定这个堆的起始地址是什么,哪个函数负责分配它?

windbg

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

什么是.PHT文件

根据此通报,.pht文件可用于执行PHP代码:https://www.portcullis-security.com/security-research-and-downloads/security-advisories/cve-2015-5074/

但是,我无法找到有关此文件格式的大量信息.我也无法让运行PHP的Apache服务器执行此文件.

有没有人有关于此文件格式的更多信息?

php

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

Objective C块代码

我是目标C的新手,我有以下两难困境.我希望在类预测中的方法完成运行后运行一段代码.

-(void)populate: (void (^)())completionHandler{//method that should run first
    //code that runs first
}  
Run Code Online (Sandbox Code Playgroud)

我在main函数中调用此方法

[prediction populate:^{
    NSLog(@"it works")//it works is new displayed
}];
Run Code Online (Sandbox Code Playgroud)

我希望在populate方法完成运行后立即显示"it works".但这不会发生.我究竟做错了什么?

objective-c

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

标签需要很长时间才能改变

我正在学习开发一个IOS应用程序.我有以下问题.我想用标签来显示一个字符串.此字符串显示需要很长时间(10-15秒).这是正常的吗?以下代码位于viewDidLoad函数中

NSLog(self.example); //displays almost immediately 
_labelOutput.text= [NSString stringWithFormat:@"%@", self.example;//takes 15 seconds
Run Code Online (Sandbox Code Playgroud)

整个viewDidLoad函数:

- (void)viewDidLoad
{
    [super viewDidLoad];
    double lat = 43.7000;
    double lon = -79.4000;
    NSArray *users = [[NSArray alloc] initWithObjects:@"user_1",@"user_2",@"user_3", nil];

    id prediction = [[Prediction alloc] initWithUsers:users Lat:lat Lon:lon];

    [prediction populate:^{
        self.resName= [prediction generateRandom][@"id"];
        NSLog([NSString stringWithFormat:@"%@", self.resName]);
        _labelOutput.text= [NSString stringWithFormat:@"%@", self.resName];

    }];

}
Run Code Online (Sandbox Code Playgroud)

objective-c ios

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

什么是主函数执行时指向的EBP寄存器?(英特尔x82架构)

我知道在函数调用期间,EBP寄存器指向被调用函数推送到堆栈的第一个值.但是当第一次调用main函数时,EBP寄存器指向什么?它是第一个被main函数压入堆栈的局部变量吗?

c x86 assembly calling-convention

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

将二进制数据嵌入到 Flash 应用程序中

在反编译混淆的 Adob​​e Flash 应用程序时,我注意到其中许多都包含加密的二进制组件:

在此输入图像描述

我的问题是,如何在应用程序中包含二进制组件(如上所述)以及如何使用 ActionScript 加载它以进一步处理它?

注意:我的 IDE 是 Fl​​ash Builder,我正在使用 Adob​​e AIR 应用程序。

flash actionscript-3

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