我知道redirect the shell output to a file直截了当。
所以我也应该能够设置套接字并将shell的输出重定向到套接字,因为它本质上只是另一个文件描述符(我认为)?
我见过一些示例C程序可以创建一些基本的客户端/服务器功能但是(尽管它们很小)这看起来就像是过度杀死。
我可以在shell中设置一个只有几个命令的套接字吗?如果是这样,我需要什么语法?
我意识到这可能非常简单,但我是VxWorks的新手,并且花了最近两天的时间在网上搜索我决定在这里问的答案!
感谢您愿意提供的任何帮助。
丹
答案 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。