2015-06-21 100 views
1

我正面临一些问题需要解决的问题。服务器程序在每次连接到它时给出4个随机无符号整数。我的工作是添加4个数字并发回总和。但时间受到限制。所以如果我想用计算器来完成这项工作,那是不可能的。因此我不得不采取脚本。我想使用netcat连接到服务器,检索16个字节,将数据传输到我的C程序(它将将数据解析为4个无符号整型变量并打印出总和),并将此程序输出重新导向到netcatNetcat Socket编程

netcat <server> <port> | myProg | netcat <server> <port> 

但是第二次打开tcp socket netcat并不是以前的socket。所以这次会提出一组不同的4位数字,这会影响整个工作。我的问题是:是否可以通过任何方式(使用netcat)使用先前的套接字(由netcat打开)将计算的总和抽回到服务器?

我不想用C来做套接字编程,因为它对我来说非常困难。 我也知道

echo 3<>/dev/tcp/server/port 
cat <&3 | ./myprog | more >&3 

可能会解决我的目的(纠正我,如果我错了)。但我想以netcat的方式来做到这一点。提前致谢。

回答

0

使用socat而不是netcat

socat可以生成命令本身,具有输入和输出都重定向(你不使用shell重定向,让socat手柄吧)

socat TCP:server,port SYSTEM:myProg 
+0

非常感谢您的回答,先生。不过,我想确认这是不可能通过netcat。 –