如果尝试连接的时间超过3秒(即:端口未打开时),为什么以下netcat命令不会超时?我假设-w标志将是我需要的.OS是OSX 10.9.
nc -v -z -w 3 127.0.0.1 5050
假设有效,我计划这样实现(不确定这是否有效,总bash noob)
nc -v -z -w 3 127.0.0.1 5050 | /dev/null && echo "Online" || echo "Offline"
对于这样一个特定的问题,但是看了下面用Javascript编写的算法
function c(a) {
if (a < 2) return 2;
if (a > 4096) return 4096;
var b = a & (a - 1);
while (b > 0) {
a++;
b = a & (a - 1)
}
return a
}
Run Code Online (Sandbox Code Playgroud)
我来自一个我不确定的声明.究竟究竟做了var b = a & (a - 1);什么?我假设它将A分配给B然后从B减去1,但是,如果是这种情况那么B不会达到0(或低于0)导致无限循环?这怎么办?
我问这个是因为我试图使算法适应PHP,但已经碰壁了.它在Javascript中完美运行,所以我肯定知道我不知道发生了什么.这是我在PHP中的尝试:
function c($a) {
if ($a < 2) return 2;
if ($a > 4096) return 4096;
$b = $a
$b = ($b - 1);
while ($b > 0) { …Run Code Online (Sandbox Code Playgroud) 编辑:戈登发布的查询似乎有问题.如果我从10-12预订,似乎认为所有预订都在12点以后无效,但所有预订在上午10点之前有效.
一些快速而简单的想法最终导致我创建以下查询:
SELECT serverip
FROM server
WHERE serverip NOT IN (SELECT serverip
FROM booking
WHERE startat >= datehere
AND expiresat <= datehere)
LIMIT 1;
Run Code Online (Sandbox Code Playgroud)
假设预订表存储以下内容:
+-----------+-----------+----------+----------+-----------+
| bookingid | serverip | username | startat | expiresat |
+-----------+-----------+----------+----------+-----------+
| 1 | 127.0.0.1 | testuser | 10:00 | 12:00 |
+-----------+-----------+----------+----------+-----------+
Run Code Online (Sandbox Code Playgroud)
如果用户要为预订输入以下数据:
startat = 9:59
expiresat = 12:01
Run Code Online (Sandbox Code Playgroud)
他们可以轻松绕过我的支票,看看预订时间是否可以根据之前的预订存储.
关于如何更好地解决这个问题的任何建议?
我宁愿不限制用户输入,并希望避免硬编码特定的时间段,如果这不是一个问题,但我会坚持我已经得到的.
谢谢你的时间.