小编ETo*_*reo的帖子

socket.io在空闲时断开客户端

我有一个生产应用程序,它使用socket.io(node.js后端)将消息分发给所有登录的客户端.我的许多用户都遇到了与socket.io服务器断开连接的问题.客户端的正常用例是使Web应用程序在整个工作日内保持打开状态.应用程序在工作日的大部分时间都是空闲的,但应用程序仍然处于打开状态 - 直到socket.io连接丢失,然后应用程序将其踢出.

有什么方法可以使连接更可靠,所以我的用户不会经常失去与socket.io服务器的连接?

node.js socket.io-1.0

10
推荐指数
2
解决办法
8598
查看次数

TypeScript 需要类型检查

我正在使用 TypeScript v1.4.1 并希望需要一个外部模块(在本例中为“chai”)并对其进行类型检查。

但是,我遇到了与此代码的某种命名冲突:

/// <reference path="../typings/node/node.d.ts" />
/// <reference path="../typings/chai/chai.d.ts" />
/// <reference path="../typings/mocha/mocha.d.ts" />

var chai = require("chai");

var expect = chai.expect;
var assert = chai.assert;

describe("TEST", () =>
{
   it("true should be true", (done)=>
   {
      expect(true).to.be.true;
      done();
   });
});
Run Code Online (Sandbox Code Playgroud)

使用此定义文件:

declare module chai {
   ...
}
declare module "chai" {
   export = chai;
}
Run Code Online (Sandbox Code Playgroud)

编译会出现这些错误:

test/test.ts(5,5): error TS2300: Duplicate identifier 'chai'.
typings/chai/chai.d.ts(6,16): error TS2300: Duplicate identifier 'chai'.
Run Code Online (Sandbox Code Playgroud)

似乎我唯一的选择是chai在 test.ts 中重命名我的变量名。这看起来很笨重,并且不会对重命名chai变量的使用进行类型检查。

有什么建议吗?

require typescript

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

简单可靠的UDP C++库

我需要一个可靠的UDP库.我写的那个不太好用,我想看看第三方在同样情况下能做些什么.

由于xcode中的一些"有趣的"编译问题,Enet将无法工作(我还有关于堆栈溢出的另一个问题).

对于便携,可靠的UDP库的任何建议将不胜感激.

c++ udp

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

OpenGL ES 1.x着色器

我试图找到如何为OpenGL ES 1.x(特别是iPhone)实现简单着色器的示例.我之前从未使用着色器,但我确实理解它们的用途.我想,一旦我能够在模拟器中加载一个简单的着色器,我就可以从那里拿出它并做我需要做的事情.谢谢你的帮助,〜埃里克

iphone shader opengl-es

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

iPhone Store Kit返回无效的产品ID错误

我正在尝试在我的iPhone上测试In App Purchases并遇到一个问题,我在那里请求信息,最终作为"didRecieveResponse"方法中的无效产品ID返回给我.

我有:

  • 创建了与此应用相关联的商店内商品.它的捆绑ID与其他所有内容相匹配.它已被清除出售并得到开发商的批准.
  • 确保我的新配置文件已启用商店应用程序购买,并且它具有完整的应用程序名称:"com.domain.appname"
  • 确保这是用于将应用程序签名到我的iPhone的配置文件.
  • 确保"com.domain.appname"是用于构建配置文件的应用程序ID.
  • 确保在我的plist文件中使用"com.domain.appname"作为包标识符.

一切似乎都已到位,但我仍然将我的产品作为无效ID返回给我.

这是我正在使用的代码:


- (void)requestProductData {
   SKProductRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithObject: @"com.domain.appname.productid"]];
   request.delegate = self;
   [request start];
}

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
   NSArray *myProducts = response.products;
   NSArray *myInvalidProducts = response.invalidProductIdentifiers;

   for(int i = 1; i < myInvalidProducts.count; ++i)
   {
      std::cout <<"invalid product id = " << [[myInvalidProducts objectAtIndex:i] UTF8String] << std::endl;
   }

   for(int i = 0; i  < myProducts.count; ++i)
   {
      SKProduct * myProduct = [myProducts objectAtIndex:i]; …
Run Code Online (Sandbox Code Playgroud)

iphone storekit in-app-purchase

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

xcode"compile source as"覆盖特定文件

我有一个项目必须设置为"Objective-C++"的"编译源为"值(不,"根据文件类型"将不能在我的主项目中工作).我遇到的问题是我从一个框架(特别是OpenFeint)获得的文件,当编译为"Objective-C++"时会出现编译错误.

error: pointer of type 'void *' used in arithmetic
Run Code Online (Sandbox Code Playgroud)

我可以在一个测试项目中编译该文件,该项目设置为"根据文件类型"为"编译源为"值.所以我想知道如何设置一个特定的文件来编译为Objective-C?如果我可以在我的实际项目中将这个文件编译为Objective-C,那么一切都应该完美和谐地工作.

任何帮助表示赞赏.

谢谢!

xcode compiler-errors objective-c++

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

Canvas drawImage返回错误

我有这段代码(sCtx是一个画布上下文,按钮处于紧密的绘制循环中):

function Button(src, onClick)
{
   this.loaded = false;
   this.image = new Image();
   this.image.src = src;

   this.onClick = onClick;
}

Button.prototype.draw = function()
{
   if(!this.image.complete)
      return;

   var theImg = this.image;

   console.log(theImg);
   sCtx.drawImage(theImg);
}
Run Code Online (Sandbox Code Playgroud)

当我运行代码(在Chrome中)时,我得到了这个输出:

<img src ="img/btnStart.png">

未捕获的TypeError:输入错误

有人能告诉我我做错了什么吗?我看了很多例子,看起来这应该有效.

javascript html5 canvas

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

NodeJS Addon从NAN AsyncWorker :: Execute内部调用Javascript回调

我想从异步插件函数中调用nodejs回调.我已经看到了同步示例(这里),我正在使用一个很棒的异步示例(这里)作为起始基础.

但是,当我尝试执行给c ++ AsyncWorker子类的回调时,我收到了Segmentation错误.

这是我的代码:

#include <nan.h>
#include <functional>
#include <iostream>
#include <exception>
using namespace Nan;
using namespace v8;
using namespace std;

class ScriptWorker : public AsyncWorker {
  public:
    ScriptWorker(Callback *callback, const std::map<std::string, Callback*>)
    : AsyncWorker(callback), script(script), cbs(cbs) {}

    ~ScriptWorker() {}

    void Execute () {

      // ------------------------
      // Segmentation fault after
      // ------------------------

      Local<Value> argv[] = {
        New<v8::Number>(id)
      };

      // -------------------------
      // Segmentation fault before
      // -------------------------

      cbs["getUser"]->Call(1, argv);
    }

  private:
    std::string script;
    std::map<std::string, Callback*> cbs; …
Run Code Online (Sandbox Code Playgroud)

c++ asynchronous node.js node.js-nan node.js-addon

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