当前位置: 技术问答>linux和unix
终端编程,大虾请进,谢谢!
来源: 互联网 发布时间:2015-12-06
本文导语: 问题 终端A连接到ttyp0 终端B连接到ttyp1 在终端A上运行的程序如何发送数据到B终端 如何接收B终端的数据 我直接在程序里打开ttyp1 然后向ttyp1写数据, 数据可正常到达B终端 但一调用Read接收数据 B终...
问题
终端A连接到ttyp0
终端B连接到ttyp1
在终端A上运行的程序如何发送数据到B终端 如何接收B终端的数据
我直接在程序里打开ttyp1 然后向ttyp1写数据, 数据可正常到达B终端
但一调用Read接收数据 B终端的连接就断开了
请高手指点,谢谢!
终端A连接到ttyp0
终端B连接到ttyp1
在终端A上运行的程序如何发送数据到B终端 如何接收B终端的数据
我直接在程序里打开ttyp1 然后向ttyp1写数据, 数据可正常到达B终端
但一调用Read接收数据 B终端的连接就断开了
请高手指点,谢谢!
|
在许多 Unix 系统上,你实际上不必用两次独立的 pipe 调用来实现父子进程之间的全双工的通讯。socketpair 系统调用给在同一台机器上的相关进程提供了双向的联接。所以,除了用两个 pipe 以外,你还可以只用一个 socketpair
建议使用socketpair
http://www.pgsqldb.org/twiki/bin/view/Perl/PerlICommunication
由讲解
建议使用socketpair
http://www.pgsqldb.org/twiki/bin/view/Perl/PerlICommunication
由讲解
|
可以考虑用FIFO
|
你在终端上运行的程序,收发数据都来自FIFO,就行了.就把FIFO当成普通的文件描述符,然后注意FIFO的权限.
|
你可以让其先login然后再运行程序,或者是将程序重定向到终端上试试
|
终端A连接到ttyp0
终端B连接到ttyp1
在终端A上运行的程序如何发送数据到B终端 如何接收B终端的数据
B终端什么也没做,为什么要从B终端读取数据阿
为什么不把要读取的数据直接发送到终端A,或者写到文件中
终端B连接到ttyp1
在终端A上运行的程序如何发送数据到B终端 如何接收B终端的数据
B终端什么也没做,为什么要从B终端读取数据阿
为什么不把要读取的数据直接发送到终端A,或者写到文件中
|
read返回什么错?errno是多少?是不是你自己出错close的?