Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11298
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 80
  • 用 户 组: 普通用户
  • 注册时间: 2017-10-31 17:54
文章分类
文章存档

2018年(5)

2017年(2)

我的朋友

分类: C/C++

2017-12-25 11:45:15

1. Telnet

1.1 Telnet的定义

Telnet协议是族中的一员,是Internet服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程工作的能力。在使用者的电脑上使用telnet程序,用它连接到使用者可以在telnet程序中输入命令,这些命令会在上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制。要开始一个telnet会话,必须输入用户名和密码来登录Telnet是常用的Web的方法。

2. SylixOSTelnet退出异常解析

2.1 SylixOS Telnet退出异常现象

利用Telnet登陆到SylixOS操作系统的终端上,执行我们的应用程序,程序运行后直接关闭连接的Telent,此时在串口终端上会打印大量显示文件描述符无效的信息。如程序清单2.1所示。

                                    程序清单2.1 终端打印代码


/*********************************************************************************************************

** 函数名称: check_domain_state

** 功能描述: 打印数据域的状态信息

** 输 入  :

** 输 出  :

** 全局变量:

** 调用模块:

*********************************************************************************************************/

void check_domain_state(void) {

         ec_domain_state_t ds;

 

         ecrt_domain_state(domain1, &ds);

 

         if (ds.working_counter != domain1_state.working_counter)

                   printf("domain1: WC %u.\n", ds.working_counter);

         if (ds.wc_state != domain1_state.wc_state)

                   printf("domain1: State %u.\n", ds.wc_state);

 

         domain1_state = ds;

}

/*********************************************************************************************************

** 函数名称: check_master_state

** 功能描述: 打印主站的状态信息

** 输 入  :

** 输 出  :

** 全局变量:

** 调用模块:

*********************************************************************************************************/

void check_master_state(void) {

         ec_master_state_t ms;

 

         ecrt_master_state(master, &ms);

 

         if (ms.slaves_responding != master_state.slaves_responding)

                   printf(“%u slave(s).\n”, ms.slaves_responding);

         if (ms.al_states != master_state.al_states)

                   printf(“AL states: 0x%02X.\n”, ms.al_states);

         if (ms.link_up != master_state.link_up)

                   printf(“Link is %s.\n”, ms.link_up ? “up” : “down”);

 

         master_state = ms;

}

2.2 SylixOS Telnet退出异常解析

SylixOS下Telnet登陆后在telent运行的程序相当于它的子进程,此时运行的程序的打印会重定位到Telnet中,在关闭Telnet后其子进程打印的文件句柄失效,所以在终端会疯狂的打印文件描述符无效信息。
阅读(385) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~