小编mac*_*ekm的帖子

浏览器中的最大websocket连接

我想对我的websocket服务器运行一些压力测试运行这个javascript示例在我的浏览器(chrome)下面:

  function create_ws() {
    var ws=new WebSocket("ws://127.0.0.1/");
    ws.onopen=function(evt){
      var binary = new Uint8Array(2);
      binary[0]=1;
      binary[1]=2;
      ws.send(binary.buffer);                  
    };
    ws.onclose=function(evt){};
    ws.onmessage=function(evt){};
    ws.onerror=function(evt){};
  }

 var connections = [];
 var numberOfconnections=100;

 for(var i = 0; i < numberOfconnections; i++) {
  connections.push(create_ws());
 }
Run Code Online (Sandbox Code Playgroud)

问题是上面的脚本让我同时只运行大约100个连接.如果我增加到 numberOfconnections300,它会抛出以下错误: WebSocket connection to 'ws://127.0.0.1/' failed: Error in connection establishment: net::ERR_INSUFFICIENT_RESOURCES

有没有办法增加浏览器中的websocket连接数?

javascript browser websocket

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

关键部分包含另一个关键部分?

是否可以在下面嵌套关键部分?:

void somefunction()
{
   EnterCriticalSection(&g_List); 
   ...
   EnterCriticalSection(&g_Variable); 
   ...

   LeaveCriticalSection(&g_Variable);  
   ...
   LeaveCriticalSection(&g_List);
}
Run Code Online (Sandbox Code Playgroud)

c++ multithreading critical-section

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

在从矢量中删除时,成员会发生什么?

下面是代码,让我感到困惑:

class Simple{

  private:
    int m_nID;

  public:
    Simple(int nID) {
     m_nID = nID;
    }

   ~Simple() {
     std::cout << "Destructing Simple " <<  m_nID << std::endl;
    }

    Simple(const Simple& other) { 
     m_nID = other.m_nID;
    };  
 };

 int main(){
    Simple Simple1(1); // allocating on stack
    Simple Simple2(2); //
    Simple Simple3(3); //
    std::vector<Simple>  m;

    m.push_back(Simple1);  //
    m.push_back(Simple2);  // copy constructor called
    m.push_back(Simple3);  //
    std::cout << "\n------ ERASING ELEMENTs FROM VECTOR-------" << std::endl;
    m.erase(m.begin()); //
    m.erase(m.begin()); // destructor called
    m.erase(m.begin()); //
    std::cout << "\n------ …
Run Code Online (Sandbox Code Playgroud)

c++ vector

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

包含向量的自由结构

这是我的结构包含向量:

typedef struct _player 
  {
    char                       id;
    char                       nick[30];
    std::vector<SOCKET>           mVector;
  } player, *PPER_player;

//allocating and freeing part

 lpplayer = (PPER_player) malloc(sizeof(player));
 lpplayer->mVector.push_back(socket1);
 lpplayer->mVector.push_back(socket2);
 ....
 free(lpplayer); 
Run Code Online (Sandbox Code Playgroud)

是否足以删除(免费)这个含有向量的结构?

编辑:示例2

typedef struct player 
  {
    char                       id;
    char                       nick[30];
    std::vector<SOCKET>           mVector;
  } player, *PPER_player;

//allocating and freeing part
  player * lpplayer = new player;
  lpplayer->mVector.push_back(socket1);
  lpplayer->mVector.push_back(socket2);
 ....
 delete lpplayer;     
Run Code Online (Sandbox Code Playgroud)

c++ struct vector

0
推荐指数
2
解决办法
1104
查看次数