小编jw0*_*013的帖子

netcat与UDP的奇怪行为

我注意到一个使用netcat和UDP的奇怪行为.我启动一个侦听UDP端口的netcat实例(实例1):

nc -lu -p 10000
Run Code Online (Sandbox Code Playgroud)

所以我启动另一个netcat实例(实例2)并尝试将数据报发送到我的进程:

nc -u 127.0.0.1 10000
Run Code Online (Sandbox Code Playgroud)

我看到了数据报.但是,如果我关闭实例2并重新启动netcat(实例3):

nc -u 127.0.0.1 10000
Run Code Online (Sandbox Code Playgroud)

我无法在实例1的终端上看到数据报.实际上,操作系统在实例3处为实例2分配了不同的UDP源端口,问题在于:如果我使用相同的instance2源端口(例如50000):

 nc -u -p 50000 127.0.0.1 10000
Run Code Online (Sandbox Code Playgroud)

再次,netcat的实例1接收数据报.UDP是一种连接较少的协议,为什么呢?这是标准的netcat行为吗?

networking udp netcat

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

编译C程序时,我收到此错误:hello:没有这样的文件或目录

我以前编译过其他程序,但由于某种原因,我不能再工作了.我有一个mac这是我的代码.它的目的是取三个数字并找到平均值.

#include <stdio.h>
int main(){
int first;
int second;
int third;
float average=0.0;
    printf ("This program will find the average of 3 numbers.\n");
    delay(1000);
    printf ("Type the first number.\n");
    scanf ("%d", &first);
    printf ("Type the second number.\n");
    scanf ("%d", &second);
    printf ("Type the third number.\n");
    scanf ("%d", &third);
    average = (first+second+third)/2.0;
    printf ("The average of %d, %d, and %d is %.3f\n", first, second, third, average);
return (0);
}
Run Code Online (Sandbox Code Playgroud)

这些是我采取的步骤.我把average.c和average.h放在桌面上.我打开终端并输入

cd Desktop 
gcc /Users/reneelion/Desktop/average.c average
Run Code Online (Sandbox Code Playgroud)

然后它说:

average: No such file or …
Run Code Online (Sandbox Code Playgroud)

c macos gcc

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

标签 统计

c ×1

gcc ×1

macos ×1

netcat ×1

networking ×1

udp ×1