小编maj*_*nie的帖子

NodeJS + Socket.io连接丢弃/重新连接?

在制作中,我有一个游戏,它使用连接局部变量来保持游戏状态.但是我注意到如果我在连接上空闲一段时间,它会断开并重新连接,从而失去当前状态.在我对本地主机的测试期间,我从未注意到这种行为.这是套接字连接的规范行为还是导致连接丢失的其他因素.

如果这是正常行为,通常如何处理?是否应该全局存储连接值,以便在用户放下/重新连接时可以恢复它们?

node.js socket.io

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

nodeJS从回调中返回值

我正在构建一个应用程序,在特定的调用中,我必须阻塞并等待来自认证查询的结果才能进行连接.

function authenticate(userid, hash)
{
    mysql_client.query("SELECT `hash` FROM `auth` WHERE `userid` = " + userid, function selectCb(err, results, fields) {
    if (err)
    {
      client.send("Error communicating with mysql, please retry your request");
      return false;
    }

    if(results.length == 0 || results[0].hash != hash)
    {
        client.send("Error comparing authentication data with database, please retry request");
        return false;
    }

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

我希望能够从authenticate()函数本身返回这些值,而不是内部匿名函数selectCb,并且在回调完成之前具有authenticate块.我该怎么做呢?

mysql callback node.js

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

PHP排序问题,arsort vs asort + array_reverse

我最近正在研究其中一个项目的euler问题集,并遇到了这个奇怪的问题.我已经用第一个解决方案正确地解决了问题,但我不知道为什么其他版本没有按预期工作.

这是有效的代码:

asort($card_count, SORT_NUMERIC);
$card_count = array_reverse($card_count, true);
Run Code Online (Sandbox Code Playgroud)

这里的代码不是:

arsort($card_count, SORT_NUMERIC);
Run Code Online (Sandbox Code Playgroud)

这是我改变的唯一一条线,它对最终结果产生了巨大的影响.有什么想法吗?

php sorting

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

Bash命令行颜色

Bash为特定类型的文件提供颜色功能.例如,默认情况下ls将显示目录为蓝色,实用程序显示为绿色,文件显示为白色等等.我知道这些颜色可以通过修改〜/ .dir_colors和其他文件来定制输出命令,例如ls,具体取决于广泛使用在系统上应该应用改变.

但是,在屏幕演员和演示期间,我看到命令行本身有这些颜色修改.例如,在bash提示符下,如果有人键入实用程序并开始键入其参数,则该行上的实用程序将显示为绿色,就像它在ls的输出中一样.这似乎是一个很好的功能,但所有谷歌搜索似乎出现了如何修改ls的输出和自定义颜色,但不是如何将其应用于命令行本身.如何将其应用于命令行?是否可以通过bash或这是这些用户使用的某些终端软件的功能?

bash

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

将GPG与C一起使用?

我正在用C编写通信程序,我正在寻找使用GnuPG加密的最佳方法.我已经通过mcrypt库使用对称加密算法,但希望结合一些公钥功能,如果可能的话,最好使用GnuPG.有没有一个好的图书馆可以完成这个?尝试直接通过程序与GPG本身进行交互以实现这一目标会更好吗?任何见解都将受到赞赏,因为我希望尽可能保持这种实施.谢谢.

c gnupg

5
推荐指数
2
解决办法
4582
查看次数

静态/非静态方法问题

我正在研究一个简单的ORM解决方案,并遇到了棘手的情况.理想情况下,我希望能够在静态上下文和对象上下文中使用方法,具体取决于它的调用方式.我不确定这是否可行,但这就是我的意思:

假设用户模型想静态调用where(),这当前工作正常,例如:

$user = User::where('id = ?', 3);
Run Code Online (Sandbox Code Playgroud)

现在,我也支持关系,例如用户可以拥有消息.建立此关系后,我只需在用户模型中存储消息模型的空白副本并设置外键.例如:

$user -> messages = new Message();
$user -> messages -> foreign_key = 'user_id';
Run Code Online (Sandbox Code Playgroud)

现在,理想情况下,我希望能够致电:

$user -> messages -> where('unread = ?', 1);
Run Code Online (Sandbox Code Playgroud)

在非静态上下文中,在此上下文中使用$ this - > foreign_key,以便仅提取外键与用户id匹配的消息.这种类型的上下文切换在PHP中是否可行?从静态上下文对$ this的任何引用都会抛出一个错误,因为它是一个静态方法,并且不应该依赖于$ this(出于显而易见的原因,当从静态上下文调用时,$ this将不存在)

这有什么巧妙的方法吗?我尝试重载方法有两个不同的原型,有和没有静态关键字,但这引发了重新声明错误.

php oop

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

标签 统计

node.js ×2

php ×2

bash ×1

c ×1

callback ×1

gnupg ×1

mysql ×1

oop ×1

socket.io ×1

sorting ×1