IO重定向实现的Telnet

A40i使用笔记:重定向串口输出信息到telnet端口(任意定向) 一、前言 在嵌入式Linux系统中,我是用的是A40i,有时通过远程(telnet或者ssh)登录到现场设备,想看程序的实时打印的调试信息,需要将输出到串口的调试信息重定向到当前登录的终端界面上。 下面是实现的代码,可以将输出到串口的日志信息,重定向到当前的telnet或者ssh界面上,是不是很神奇! 神奇个毛线 二、环境 Ubuntu16.0 window10 A40i 参考连接: linux下tty, ttyn, pts, pty, ttySn, console理解 linux C语言 阅读详情
一个利用IO重定向技术实现的Telnet,加了少许辅助功能.开发调试环境:VC++ 6.0.具体代码如下:
CTelnet.c文件
#ifndef CTELNET_H
#define CTELNET_H
#include <winsock2.h>
class CTelnet
{
public:
  static bool Listen(int port=735);
  static bool Close();
  static bool RecieveData(SOCKET,char[],long);
  static bool SendData(SOCKET,const char[]);
  friend DWORD ConAptFunc(LPVOID lpVoid);
protected:
  CTelnet();
  static int conNum;
};
#endif //#ifndef CTELNET_H
CTelnet.cpp文件
#include "CTelnet.h"
#define TELNETBUFSIZE   1024
#define TELNETCONNUM    10
#define TELNETTIMEOUT   300
CTelnet::CTelnet()                  //初始化
{  
}
int CTelnet::conNum=0;
bool CTelnet::Listen(int port)
{
  SOCKET ListenSocket;
  SOCKADDR_IN sin;
  WSADATA wsa;
  WSAStartup(MAKEWORD(1, 1), &wsa);
  if((ListenSocket = WSASocket(AF_INET, SOCK_STREAM, 0, NULL, 0, 0)) == INVALID_SOCKET)
  {
   return false;
  }
  char name[100],Hostaddress[20];  
  gethostname(name,sizeof
如何将嵌入式串口打印信息重定向telnet/ssh界面 文章目录概述实现代码编译运行 概述 在嵌入式Linux系统中,有时通过远程(telnet或者ssh)登录到现场设备,想看程序的实时打印的调试信息,需要将输出到串口的调试信息重定向到当前登录的终端界面上。 也可以将程序重新启动到当前终端界面,但是在程序出现问题时,如果重启程序,可能会破坏了问题现场,再查找问题就不好查找了。 下面是实现的代码,可以将输出到串口的日志信息,重定向到当前的telnet或者... 阅读详情

相关推荐

基于stm32 lwip + Telnet 调试打印

前言: 玩stm32陆陆续续也有1年半了,从51到linux驱动到stm32发现了不少好玩的东西,应了大家的要求开通了博客,记录一些在stm32上。 做产品的同学可能已经发现,产品正式出厂后是很少允许拆壳的,但是产品结构上也不会预留串口调试的接口。那么现场环境复杂,如果复现了,是否有办法判断程序跑到什么地方呢? 应用场景: 通过Putty-Tlenet工具,输入带网络设备IP,可将设备打印...

weixin_40952498的博客 4575

使用C/C++调用Telnet的方法和示例代码

在C/C++中,我们可以使用库函数和系统调用来实现Telnet客户端的功能。下面是一个详细的示例,展示了如何使用C/C++调用Telnet。请注意,实际使用中可能需要根据具体的Telnet服务器和命令进行适当的调整。此示例仅用于说明如何使用C/C++调用Telnet。希望这个示例能帮助你理解如何在C/C++中调用Telnet。如果你有任何问题,请随时提问。函数发送Telnet命令并接收响应。最后,我们关闭套接字并退出程序。函数连接到Telnet服务器,然后使用。在上面的示例代码中,我们首先使用。

TechWhizZ的博客 954

Linux C高阶(20)重定向串口打印到telnet(方便远程调式)

在嵌入式开发中,我们都是使用串口进行调试定位问题。然而在成品调试或者远程调试时,没有串口,只能telnet进去,少了很多应用进程的打印,这样就不利于我们发现问题。需要一种方法把串口所有输出重定向到telnet。   这就涉及到一些终端概念,可以参考博文linux下tty, ttyn, pts, pty, ttySn, console理解。主要是利用tty的ioctl重定向方法来实现重定向,下...

二进制君 3982

VC实现自动化telnet登录与命令发送的实战改进

本文还有配套的精品资源,点击获取 简介:本文深入探讨了如何利用VC(Visual C++)编写程序实现自动登录telnet并发送命令。首先,介绍了telnet协议的基本概念及其在网络管理中的应用。接着,说明了通过自定义VC类实现telnet功能的五个关键步骤:初始化连接、发送登录信息、读取服务器响应、发送命令以及关闭连接。同时指出现有实现可能存在的缺陷,如缺乏错误处理和安全...

weixin_42596246的博客 1121

C++实现telnet代码

C++实现telnet代码,用C++写的telnet

C++写的telnet客户端,VS2010编译通过

使用VS2010开发环境,C++语言编写的Telnet客户端,是个控制台程序,目前没有做心跳,需要的自己加上就可以了,代码简洁,就几个面向对象的类,希望对你有参考价值。

linux 串口重定向到telnet下

linux 串口重定向到telnet下,使用C99编译可通过,经测试正常。

昇腾CANN实战:如何用DVPP+AIPP实现32路视频流毫秒级预处理(附性能对比)

本文深入探讨了昇腾CANN架构中DVPP和AIPP模块在32路视频流毫秒级预处理中的硬件加速技术。通过异构计算架构的优化,实现了从传统CPU方案的40.7毫秒到CANN方案3.4毫秒的显著性能提升,特别适用于智能安防领域的实时视频分析需求。文章详细解析了DVPP多通道并行设计和AIPP模型级预处理融合的技术细节,并提供了性能对比数据与实战调优经验。

alice7model的博客 919

RK3588 EVB开发板原理图讲解【六】

该原理图展示了eMMC Flash与主控芯片之间的连接关系,以及相关的电源、信号线路和去耦电容等。

weixin_48721556的博客 1172

手把手教你搞定JBI投稿:从Statement of Significance到Declaration Statement的保姆级避坑指南

本文提供了一份详细的JBI投稿指南,重点解析Statement of Significance和Declaration of Interests的撰写技巧,帮助研究者避开常见格式陷阱。通过实战案例和检查清单,确保投稿符合JBI的学术严谨性和临床转化价值要求,提升稿件通过率。

weixin_29278805的博客 622

opencv实践项目-图片拼接之缝合线算法

opencv 图片缝合线算法

wyw0000的博客 2624

51-14 Retentive Network,RetNet 多尺度保留机制序列建模论文精读

RetNet 提出了多尺度保留机制序列建模,该机制支持三种计算范式,即并行、循环和分块循环。RetNet有更好的全局注意力建模、高效的计算效率、对遮挡的鲁棒性、支持基于注意力的图像生成、与置信度相关的门控机制和多任务学习等特点,对不同视觉任务可以共享历史注意力记忆,可以同时进行分类、分割、检测等任务。RetNet在视觉领域应该有广阔的应用前景。

AIgraphX 1613

51单片机+DS18B20+数码管显示+超温提示+Proteus仿真

51单片机+DS18B20+数码管显示+超温提示+Proteus仿真 Proteus仿真 实例代码 #include <reg52.h> #define uchar unsigned char #define uint unsigned int sbit we1 = P3^0; sbit we2 = P3^1; sbit we3 = P3^2; sbit we4 = P3^3; sbit DS = P1^0; sbit D1 = P3^6; sbit D2 = P3^7; uch

perseverance51博客 1540

simulink的Sine Wave 模块详解

模块是 Simulink 中的一个信号源模块,用于生成正弦波信号。该模块可以根据设定的幅值、频率、相位和偏移量,在仿真过程中产生周期性的正弦波形。模块都能提供强有力的支持。通过深入了解其参数的影响及结合 MATLAB 脚本的应用,读者可以更加有效地利用这一模块进行仿真和研究。此外,通过实际应用场景的扩展以及常见问题解答部分的帮助,能够更好地掌握。模块是一个非常实用的工具,适用于需要生成正弦波信号的各种场景。模块的参数,可以进一步增强学习体验。模块参数的影响,下面我们将详细探讨每个参数如何影响仿真结果。

xiaoheshang_123的博客 1052

Qt | 开发过程中总结的经验

关于如何判断自己的Qt库是多少位,有个误区就是很多人要么看成了QtCreator的关于信息中列出的位数,要么以为自己是64位的系统就认为是64位的Qt,最终要在Qt构建套件中查看具体位数,大概从Qt5.14开始基本上很少提供32位的库,尤其是Qt6.0以后基本上默认就是只有64位的库了,这也是顺应时代潮流,毕竟不久的将来(个人预计2030年以前)基本上32位的系统占比不超过1%,放心大胆的用64位的库吧,抛弃烦人的32位以及XP系统。Qt常用类的头文件的函数看完学完使用一遍并加以融会贯通,月薪30K起步。

Qt历险记,专注Qt技术,三年医疗设备研发经验,1年机器视觉研发经验,半年柔性传感研发经验。 491

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: CppUnit使用指南
下一篇: VB时钟
Matrix_Designer
博客等级 码龄16年 58粉丝 296原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值