我是新来的...我想假设我不想解决我的问题,但我需要了解客户端/服务器程序和FIFO读写器程序之间的区别......我更好地解释......
我必须为考试做一个项目。该项目的目的是“定义脚本Bash和C程序,以自动纠正检查任务。”
教授要求我写一些Bash脚本来完成考试任务,检查它们,并为每项任务在一个文件上写下分数。到目前为止,一切都很清楚。
然后教授问4 C程序,我不再理解了。我用英文翻译了项目规范中的内容:
fifo_reader 它是一个C客户端,它读取FIFO的内容并将其打印在stdout上 将参数(作为命令行中的参数)作为Fifo的名称
fifo_writer
这是一个C客户端,它在FIFO中写入stdin的内容 将参数(作为命令行中的参数)作为Fifo的名称
network_server_echo
它是一个C服务器,它监听网络端口(TCP或UDP)(从命令行作为参数传递的端口号和积压值)和:
读取输入流上的字符串
- 上读取的字符串 醇>
编写已在通信输出流
network_client_echo
这是network_server_echo的客户端版本
这里我不明白: fifo writer / reader不像带套接字的客户端/服务器应用程序?那么,教授用两种不同的方式问我们同样的事情呢?但是当教授谈论第五读者/作者时,他将他们定义为客户......也许我还没有理解教授真正在问我们什么......有人能帮助我吗?
感谢名单
答案 0 :(得分:2)
我认为你完全理解这个问题: - )
在我看来,工作应该以两种不同的方式完成。 named fifo
不是fifo
不是socket
。因此,您将学习如何访问不同的unix通信方式。我认为考虑所有这些方法的差异是有道理的。
玩得开心!
答案 1 :(得分:2)
大!你理解得对。 FIFO文件(通常称为named pipes
)在本地(在类似UNIX的系统上)工作,而基于sockets
的解决方案用于网络。
但是,在Windows中,named pipes
也适用于(微软)网络,因此您可以在一台计算机上打开命名管道FIFO并从第二台计算机访问它。这样做在类UNIX系统中起作用。