将VxWorks shell输出重定向到套接字

时间:2009-08-05 13:30:50

标签: shell redirect sockets vxworks

我知道redirect the shell output to a file直截了当。

所以我也应该能够设置套接字并将shell的输出重定向到套接字,因为它本质上只是另一个文件描述符(我认为)?

我见过一些示例C程序可以创建一些基本的客户端/服务器功能但是(尽管它们很小)这看起来就像是过度杀死。

我可以在shell中设置一个只有几个命令的套接字吗?如果是这样,我需要什么语法?

我意识到这可能非常简单,但我是VxWorks的新手,并且花了最近两天的时间在网上搜索我决定在这里问的答案!

感谢您愿意提供的任何帮助。

2 个答案:

答案 0 :(得分:2)

shell是一个简单的c解释器。只需编写代码就像编写c程序一样:

-> mysock = socket(2, 1, 0)
/* double check that these are right for AF_INET and SOCK_STREAM*/
-> myaddr = malloc(100)
-> m myaddr
/* fill in the fields according to the address you want to connect to */
-> connect(mysock, myaddr, myaddrlen)
/* I don't have a system handy now, but you can figure out
   myaddrlen by writing a small C program to print out sizeof(sockaddr_in),
   or just figure it out by hand looking at the header. */

现在你的socket fd已经连接,重定向并且很有趣。 (在我看来,如果你要经常这样做,将它编码成一个c程序可能会更简单,你可以从shell运行来为你做所有的设置。)

答案 1 :(得分:0)

我不知道VxWorks,但有一个用于* nix的gnu程序netcat可以做到这一点,例如:

your_program | netcat主机端口

会将your_program的输出重定向到port @ host。