资源简介
使用VS2010开发环境,C++语言编写的Telnet客户端,是个控制台程序,目前没有做心跳,需要的自己加上就可以了,代码简洁,就几个面向对象的类,希望对你有参考价值。
代码片段和文件信息
// ProtocolRx.cpp: implementation of the CProtocolRx class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “Telnet.h“
#include “ProtocolRx.h“
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
extern HANDLE stdin1;
extern HANDLE stdout1;
extern HANDLE stderr1;
void nvt(SOCKET serverunsigned char data);
enum _ansi_state
{
as_normal
as_esc
as_esc1
};
static int sa = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE;
char codebuf[256];
unsigned char codeptr;
#define NUM_CODEC 6
typedef void (*LPCODEPROC)(char*);
void ansi_set_screen_attribute(char* buffer);
void ansi_set_position(char* buffer);
void ansi_erase_screen(char* buffer);
void ansi_move_up(char* buffer);
void ansi(SOCKET serverunsigned char data);
void ansi_erase_line(char* buffer);
void ddww_error(SOCKET server_verb verb_option option);
void ddww_echo(SOCKET server_verb verb _option option);
void ddww_supp(SOCKET server_verb verb_option option); //Suppress GA
void ddww_term(SOCKET server_verb verb_option option); //Subnegotiate terminal type
void sbproc_term(SOCKET serverunsigned char data);
struct
{
unsigned char cmd;
LPCODEPROC proc;
} codec[NUM_CODEC] = {
{‘m‘ansi_set_screen_attribute}
{‘H‘ansi_set_position}
{‘K‘ansi_erase_line}
{‘J‘ansi_erase_screen}
{‘A‘ansi_move_up}
{00}
};
CProtocolRx::CProtocolRx()
{
}
CProtocolRx::~CProtocolRx()
{
}
#define NUL 0
#define BEL 7
#define BS 8
#define HT 9
#define LF 10
#define VT 11
#define FF 12
#define CR 13
#define SE 240
#define NOP 241
#define DM 242
#define BRK 243
#define IP 244
#define AO 245
#define AYT 246
#define EC 247
#define EL 248
#define GA 249
#define SB 250
#define WILL 251
#define WONT 252
#define DO 253
#define DONT 254
#define IAC 255
int option_error(_verb_optionintSOCKET);
typedef void(*LPOPTIONPROC)(SOCKET_verb_option);
typedef void(*LPDATAPROC)(SOCKETunsigned char data);
inline void yesreply(SOCKET server _verb verb_option option)
{
unsigned char buf[3];
buf[0] = IAC;
buf[1] = (verb==verb_do)?WILL:(verb==verb_dont)?WONT:(verb==verb_will)?DO:DONT;
buf[2] = (unsigned char)option;
send(server(char*)buf30);
}
inline void noreply(SOCKET server _verb verb_option option)
{
unsigned char buf[3];
buf[0] = IAC;
buf[1] = (verb==verb_do)?WONT:(verb==verb_dont)?WILL:(verb==verb_will)?DONT:DO;
buf[2] = (unsigned char)option;
send(server(char*)buf30);
}
inline void askfor(SOCKET server _verb verb_option option)
{
unsigned char buf[3];
buf[0] = IAC;
buf[1] = (unsigned char)verb
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-02-18 11:36 C++写的telnet客户端,VS2010编译通过\
目录 0 2016-02-18 16:53 C++写的telnet客户端,VS2010编译通过\Telnet\
目录 0 2016-02-18 16:54 C++写的telnet客户端,VS2010编译通过\Telnet\Debug\
目录 0 2016-02-18 16:54 C++写的telnet客户端,VS2010编译通过\Telnet\ipch\
文件 13539 2016-02-18 16:51 C++写的telnet客户端,VS2010编译通过\Telnet\ProtocolRx.cpp
文件 2810 1998-12-26 10:41 C++写的telnet客户端,VS2010编译通过\Telnet\ProtocolRx.h
文件 447 1998-12-24 05:32 C++写的telnet客户端,VS2010编译通过\Telnet\Resource.h
文件 1508 1998-12-24 07:27 C++写的telnet客户端,VS2010编译通过\Telnet\SocketDx.cpp
文件 618 1998-12-24 06:08 C++写的telnet客户端,VS2010编译通过\Telnet\SocketDx.h
文件 1382 1998-12-26 10:40 C++写的telnet客户端,VS2010编译通过\Telnet\SocketRx.cpp
文件 699 1998-12-24 07:54 C++写的telnet客户端,VS2010编译通过\Telnet\SocketRx.h
文件 1332 1998-12-26 10:26 C++写的telnet客户端,VS2010编译通过\Telnet\SocketTx.cpp
文件 614 1998-12-24 07:53 C++写的telnet客户端,VS2010编译通过\Telnet\SocketTx.h
文件 293 1998-12-24 05:32 C++写的telnet客户端,VS2010编译通过\Telnet\StdAfx.cpp
文件 1126 1998-12-24 06:05 C++写的telnet客户端,VS2010编译通过\Telnet\StdAfx.h
文件 243 1998-12-24 06:11 C++写的telnet客户端,VS2010编译通过\Telnet\Telnet.clw
文件 1689 2001-07-29 10:12 C++写的telnet客户端,VS2010编译通过\Telnet\Telnet.cpp
文件 4893 1998-12-24 08:53 C++写的telnet客户端,VS2010编译通过\Telnet\Telnet.dsp
文件 535 1998-12-24 05:32 C++写的telnet客户端,VS2010编译通过\Telnet\Telnet.dsw
文件 110679 2001-07-29 10:14 C++写的telnet客户端,VS2010编译通过\Telnet\Telnet.exe
文件 326 1998-12-24 05:32 C++写的telnet客户端,VS2010编译通过\Telnet\Telnet.h
文件 1458 1998-12-24 05:32 C++写的telnet客户端,VS2010编译通过\Telnet\Telnet.rc
文件 878 2016-02-18 16:50 C++写的telnet客户端,VS2010编译通过\Telnet\Telnet.sln
文件 11776 2016-02-18 16:53 C++写的telnet客户端,VS2010编译通过\Telnet\Telnet.suo
文件 7864 2016-02-18 16:50 C++写的telnet客户端,VS2010编译通过\Telnet\Telnet.vcxproj
文件 2354 2016-02-18 16:50 C++写的telnet客户端,VS2010编译通过\Telnet\Telnet.vcxproj.filters
文件 143 2016-02-18 16:50 C++写的telnet客户端,VS2010编译通过\Telnet\Telnet.vcxproj.user
相关资源
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- socket客户端.c
- socket服务端.c
- FTP客户端源码(c++)
- socket tcp应用
- c++ 画图(14Qt-XPS)
- c++多边形交并差运算
- VC++基于OpenGL模拟的一个3维空间模型
- c++ 虚拟摄像头
- hook,捕获所有案件,查找所有窗口,
- C语言课设计算器
- c++ 简易贪吃蛇源码
- 高精度加法(c++代码)
- C++调用百度地图案例
- 北京化工大学计算方法(C/C++)讲义
- 基于VC++的SolidWorks二次开发SolidWorks
- c++ 模拟鼠标按键
- OFD编辑器
- Beginning C++17 From Novice to Professional
- C++ STL实现
- opencv手部轮廓识别以及轨迹识别
- 百度C++编码规范
- C++ sql2008 WebServer通讯.docx
- c++ 定时关机程序源码
- 基于VSCode和CMake实现C++开发
- c++语法查询工具
- c++ 账务系统源码
评论
共有 条评论