我正面临一些问题来解决问题。每次我连接到服务器程序时,服务器程序都会给出 4 个随机无符号整数。我的工作是将 4 个数字相加并发回总和。但是时间是有限制的。所以如果我想用计算器来完成这项工作,那是不可能的。因此我不得不求助于脚本。我想使用 netcat 连接到服务器,检索 16 个字节,将数据通过管道传输到我的 C 程序(它将数据解析为 4 个无符号 int 变量并打印出总和),然后再次将此程序输出重定向到 netcat
netcat <server> <port> | myProg | netcat <server> <port>
但是netcat第二次打开的tcp套接字不是之前的套接字。所以这次将呈现一组不同的 4 个数字,这会破坏整个努力。我的问题是:是否可以通过任何方式(使用 netcat)使用先前的套接字(由 netcat 打开)将计算出的总和泵回服务器?
我不想使用 C 来进行套接字编程,因为它对我来说太难了。 我也知道
echo 3<>/dev/tcp/server/port
cat <&3 | ./myprog | more >&3
可能会解决我的目的(如果我错了请纠正我)。但我想用 netcat 的方式来做。提前致谢。
最佳答案
使用 socat
而不是 netcat
。
socat
可以生成命令本身,同时重定向输入和输出(您不使用 shell 重定向,让 socat
处理它)
socat TCP:server,port SYSTEM:myProg
关于c - Netcat套接字编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30961286/