资源简介
用vc6.0编写的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 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)
{
//发出协商请求
unsig
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2004-08-19 09:14 Telnet客户端
文件 13875 2002-07-28 15:57 Telnet客户端\ProtocolRx.cpp
文件 2831 2002-07-28 15:58 Telnet客户端\ProtocolRx.h
文件 447 1998-12-24 05:32 Telnet客户端\Resource.h
文件 2345 2002-07-28 15:58 Telnet客户端\SocketDx.cpp
文件 697 2002-07-28 15:58 Telnet客户端\SocketDx.h
文件 1564 2002-07-28 15:58 Telnet客户端\SocketRx.cpp
文件 754 2002-07-28 15:58 Telnet客户端\SocketRx.h
文件 1445 2002-07-28 15:58 Telnet客户端\SocketTx.cpp
文件 667 2002-07-28 15:58 Telnet客户端\SocketTx.h
文件 293 1998-12-24 05:32 Telnet客户端\StdAfx.cpp
文件 1126 1998-12-24 06:05 Telnet客户端\StdAfx.h
文件 16812 1998-12-24 05:35 Telnet客户端\Telnet.aps
文件 243 1998-12-24 06:11 Telnet客户端\Telnet.clw
文件 2034 2002-07-28 14:13 Telnet客户端\Telnet.cpp
文件 4893 2002-07-28 12:34 Telnet客户端\Telnet.dsp
文件 535 1998-12-24 05:32 Telnet客户端\Telnet.dsw
文件 326 1998-12-24 05:32 Telnet客户端\Telnet.h
文件 148480 2002-07-29 16:31 Telnet客户端\Telnet.ncb
文件 55808 2002-07-29 16:31 Telnet客户端\Telnet.opt
文件 3779 2002-07-28 11:43 Telnet客户端\Telnet.plg
文件 1458 1998-12-24 05:32 Telnet客户端\Telnet.rc
----------- --------- ---------- ----- ----
260412 22
- 上一篇:c语言语法分析器
- 下一篇:MFC俄罗斯方块设计报告
评论
共有 条评论