当前位置:  技术问答>linux和unix

inetd使用中的一个问题

    来源: 互联网  发布时间:2016-04-07

    本文导语:  最近在学socket编程,在使用inetd的时候遇到一个小问题。 我把下面的代码编译成可执行程序hello,接着按照inetd的要求进行设置,设置是成功后,使用telnet进行连接,hello被执行。不过在telnet中输入的字符却无法被hello读...

最近在学socket编程,在使用inetd的时候遇到一个小问题。
我把下面的代码编译成可执行程序hello,接着按照inetd的要求进行设置,设置是成功后,使用telnet进行连接,hello被执行。不过在telnet中输入的字符却无法被hello读取,hello进入等待数据的循环。我怀疑是使用telnet的时候,stdin是被连接到终端上的,是不是终端属性没有设置正确?请各位大哥指教。(plus:hello在本地执行可以直接从stdin读取数据)

////////////////////////////////////////////////////////////////////////////////////////////////////
#include 
#include 
#include 


char * cmds[] = { "help" , "say" , "hello" , "bye" , "exit" , NULL };

int getcmd( const char * cmd )
{
int           n = 0;
while( cmds[ n ] != NULL )
{
if( strncasecmp( cmd ,cmds[ n ] , strlen( cmds[ n ] ) ) == 0 )
return n;
n++;
}
return -1;
}

void main( void )
{
char      buf[ 1024 ];
int       ok;
printf( "Welcome!This is hello service!n" );
fflush( stdout );
ok = 0;
do
{
while( fgets( buf , 1023 , stdin ) == NULL );

switch( getcmd( buf ) )
{
case -1:
{
printf( "Unknown command!n" );
break;
}
case 0 : 
{
printf( "How may i help you , sir ?n" );
break;
}
case 1:
{
printf( "I will say %s" , &buf[ 3 ] );
break;
}
case 2:
{
printf( "How are you doing today?n " );
break;
}
case 3:
{
printf( "Si ya , mate!n" );
ok = 1;
break;
}
case 4:
{
printf( "Go ahead!n" );
ok = 1;
break;
}
}
}while( !ok );
}


|
这个程序我是测试过的,应该没有问题,你说说你的运行环境。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 为什么我没有/etc/inetd.conf这个文件。
  • cygwin下的inetd
  • xinetd.conf和inetd.conf有何区别?
  • 如何重新启动inetd进程
  • inetd守护进程的疑问。
  • linux 如何用 inetd 启动 telnetd 或者 如何配置才能从PC机 telnet 到开发板上
  • Solaris10如何重启inetd服务
  • redhat7.0的/etc/inetd.conf没有了?
  • xinetd.conf与inetd.conf 高分征解
  • Red Hat Linux 7.2装完了,在etc下面没有smb.conf和inetd.conf,请问怎么回事?
  • ? redhat 7.1中的inetd.conf文件放在什么地方啊?是不是换文件名了?
  • 怎样重定向从inetd得来的socket号?
  • 装了redhat7,在/etc里没有inetd.conf文件,谁见过这咋整
  • 为什么Unix下很多名字都以“d”结尾,比如httpd,inetd等等
  • 如何在fedora中起动inetd守护进程
  • 新手求救(我得系统怎么没有/etc/inetd.conf这个文件?)
  • ubuntu10怎么没有inetd.conf?
  • 在rd7.2中好象已经没有inetd.conf文件了 不知道用什么东西代替了?
  • redhat 7.2装好后ftp服务不行,好象找不到inetd.conf?
  • vsftpd运行时出现:500 oops: vsftpd: not configured for standalone, must be started from inetd


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3