gpt4 book ai didi

c - 将 STDIN 重定向到套接字并将套接字重定向到 STDOUT

转载 作者:太空宇宙 更新时间:2023-11-03 23:52:40 26 4
gpt4 key购买 nike

我正在尝试为服务器开发一个简单的命令行客户端。在连接到服务器并正确设置所有内容后,我想将 STDIN 重定向到连接到服务器的套接字,并将相同的套接字重定向到 STDOUT。我想实现类似于 nc 工具的行为。

最简单的解决方案是使用 select() 并使用 read()/write() 传递数据STDIN 到套接字以及从套接字到 STDOUT

是否有任何其他更简单的方法以某种方式将套接字连接到 STDIN/STDOUT? 我考虑过使用 dup2() 系统调用.但是,我不确定如何让它发挥作用。

谢谢。

最佳答案

在 Linux 上,您可以使用 splice(2) 在内核级别的文​​件描述符之间移动数据。但是,您仍然必须使用 select(2)(或等效方法)并行处理两个方向,或者使用两个线程。

关于c - 将 STDIN 重定向到套接字并将套接字重定向到 STDOUT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15534841/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com