小编d.h*_*ill的帖子

如何在SQL查询中的表A(A\B)中选择表B的相对补码?

我有两张桌子:

  1. 科目:[id,...]

  2. 类别:[subject.id,...]

我想从表#1中选择所有主题而没有#2(类别)中的条目.

任何提示赞赏(:

最好的祝福

mysql sql select

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

在C中编写基本的traceroute脚本

我必须写一个trceroute脚本,但我不确定我的尝试是否正确.

现在我就这样做(如果我做错了或笨拙,请纠正我):

  1. 得到了ip-和udpheader的结构
  2. 校验和功能
  3. 打开2个套接字:一个用于在SOCK_RAW模式下发送UDP数据包(用于操作ttl),另一个用于从路由器接收ICMP应答.
  4. 使用sendto()发送UDP数据包
  5. 不知道如何接收和处理ICMP答案

有没有更好的方法来改变TTL而不是使用sock_raw,我必须自己定义所有的标题?打开ICMP袜子时,我应该为socket()使用什么参数?如何收到ICMP答案?

c udp traceroute raw-sockets icmp

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

理解minimax/maximin路径(Floyd-Warshall)

我已经实现了Floyd-Warshall算法来解决全对最短路径问题.现在我发现我还可以通过简单的修改来计算minimax或maximin路径.但我不明白结果意味着什么(最小极大路径是什么).我在网上找到了一些解释,但它们让我很困惑.

Minimax - 图中问题的Minimax涉及在两个节点之间找到一条路径,以最小化路径上的最大成本.

Maximin - 与Minimax相反的方式 - 在这里你遇到了一些问题,你需要找到最大化路径最小成本的路径.

有人可以尝试给出其他解释或示例吗?

algorithm graph path minimax floyd-warshall

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

如何在使用PDO时获取原始表/列名称?

使用PHP的mysqli扩展,我可以使用该fetch_field()方法通过orgnameorgtable在结果中获取列和表的原始(非锯齿)名称.PDO提供了该方法getColumnMeta(),但不提供有关原始表和列名称的信息; 它只返回别名.

有什么替代方法可以通过PDO获取此信息吗?我一直在考虑从SQL查询中解析信息,但我希望有更漂亮的解决方案......

SELECT id AS col1, session AS col2 FROM sessions AS table1;
Run Code Online (Sandbox Code Playgroud)

结果使用PDOStatement::getColumnMeta():

Array
(
    [native_type] => LONG
    [flags] => Array
        (
            [0] => not_null
            [1] => primary_key
        )

    [table] => table1
    [name] => col1
    [len] => 10
    [precision] => 0
    [pdo_type] => 2
)
Array
(
    [native_type] => VAR_STRING
    [flags] => Array
        (
            [0] => not_null
            [1] => unique_key
        )

    [table] => table1
    [name] => col2
    [len] …
Run Code Online (Sandbox Code Playgroud)

php meta mysqli pdo field

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

发送UDP数据包并从C中的路由器接收ICMP响应

我正在尝试编写一个C程序,它将UDP数据包发送到给定的IP地址,并等待路由器的ICMP响应,告知生存时间已到期.它保持非常简单,因为我只想先了解机制.我需要的是有人检查我的代码,提供有关错误和缺失的反馈.我对C编程非常缺乏经验,但我必须将其作为一项任务 - 让我尽力理解它...

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <netinet/ip.h> 

// The packet length
#define PCKT_LEN 8192 

// Source IP, source port, target IP, target port from the command line arguments
int main(int argc, char *argv[])
{
    int send, recv, resp;
    int ttl = 1; // Time to live
    char buffer[PCKT_LEN];

    // Destination address
    struct sockaddr_in dst;

    // ICMP Response
    struct msghdr icmp;

    memset(buffer, 0, PCKT_LEN);

    // Create a raw socket with UDP protocol
    if ((send = socket(PF_INET, SOCK_DGRAM, …
Run Code Online (Sandbox Code Playgroud)

c sockets udp raw-sockets icmp

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

C - 如果MTU最大化,则仅发送TCP数据包

有没有内置的功能(标志,参数,等等..)只有当它的MTU(几乎)满时才发送TCP数据包?

我希望我的假设是正确的,数据总是被发送,并且它包含多少有效载荷无关紧要(试图通过wireshark找到它).

最好的祝福

c networking tcp mtu

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

标签 统计

c ×3

icmp ×2

raw-sockets ×2

udp ×2

algorithm ×1

field ×1

floyd-warshall ×1

graph ×1

meta ×1

minimax ×1

mtu ×1

mysql ×1

mysqli ×1

networking ×1

path ×1

pdo ×1

php ×1

select ×1

sockets ×1

sql ×1

tcp ×1

traceroute ×1