|
请教一个问题.
我从当前(实达)终端辅口读取数据,比如 tty21a 结果是成功的
现在我写了一个客户服务器模式,向各终端辅口写数据一切正常,但我通过服务器程序从指定的终端辅口读数据 如果不是本机,比如我在tty21a上读tty21b辅口 该终端就直接退出登录 ,服务器端也出现了HANG UP字样,同样的接收函数我在作单机调试时是正常的,为什么在控制其他终端是就不行呢?.
下面是我读一次数据的函数 我在单机调试时是正确的,在服务器程序中时编译链接也通过了
void recieveonce(int len , int timeout , char s[100])
{
char string[100];
int l , m , n ;
strcpy(string ," ");
for(l =0 ; l<len ;l++)
{
for( m =0 ; m < timeout ;m++)
{
fflush(stdin);
n = read(star_fd , &string , 1); // star_fd是open的"/dev/tty***"
if ( n !=1 )
{
continue ;
}
else
{
strcat(s,string);
break;
}
}
}
}
我查了很多资料都没有解答 ,是不是有其他方法控制终端, 恳请高人赐教. 谢谢! |
|