91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3.05MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2023-11-07
  • 語言: C/C++
  • 標(biāo)簽:

資源簡(jiǎn)介

C語言實(shí)現(xiàn)的telnet客戶端 選項(xiàng)協(xié)商:所有的選項(xiàng)協(xié)商都是服務(wù)器主動(dòng)提出的,客戶機(jī)不主動(dòng)發(fā)送協(xié)商命令,只是對(duì)選項(xiàng)協(xié)商進(jìn)行應(yīng)答,對(duì)于回顯、抑制繼續(xù)進(jìn)行、終端類型是要處理的,其他的否定。 子選項(xiàng)協(xié)商只發(fā)送終端類型。 終端類型是ANSI,解析ANSI控制碼。 實(shí)現(xiàn)了上下左右鍵,客戶機(jī)發(fā)送上下左右鍵的ANSI控制碼。 登陸win7telent服務(wù)器和bbs,測(cè)試正常。 平臺(tái):win7 開發(fā)環(huán)境:vs2008 語言:C

資源截圖

代碼片段和文件信息

/*-------------------------------------------
???TelnetClient.cpp?--?WinSock?telnet?client
???????????????(c)?Ma?Jihong?2012-12-31
??-------------------------------------------*/
#include
#include
#include
#include
#pragma?comment(lib?“ws2_32.lib“)

#define?BUF_SIZE?1024

const?unsigned?char?IAC???=?255;
const?unsigned?char?DONT??=?254;
const?unsigned?char?DO ??=?253;
const?unsigned?char?WONT??=?252;
const?unsigned?char?WILL??=?251;
const?unsigned?char?SB ??=?250;
const?unsigned?char?SE????=?240;

enum?STATE{STATE_DATA?STATE_IAC?STATE_OPTION?STATE_SUBOPT};//解析服務(wù)器的信息時(shí)的各種狀態(tài)
enum?VERB{VERB_WILL?VERB_WONT?VERB_DO?VERB_DONT};//記錄服務(wù)器選項(xiàng)協(xié)商的常量
enum?OPTION{ECHO?=?1?SGA?=?3?TERMTYPE?=?24};?//要處理的選項(xiàng)協(xié)商的常量
enum?ANSI_STATE{S_DATA?S_ESC?S_ESC0};??//解析ANSI控制碼的?各種狀態(tài)
enum?{IS?=?0?SEND?=?1};??//終端子選項(xiàng)的常量
char?escbuf[BUF_SIZE];???//儲(chǔ)存ANSI控制碼的緩沖區(qū)

void?ParseMessage(unsigned?char);?//解析服務(wù)器接受的信息
void?EchoOpt(unsigned?char?verb);?//對(duì)回顯選項(xiàng)協(xié)商的應(yīng)答
void?SGAOpt(unsigned?char?verb);??//對(duì)抑制繼續(xù)進(jìn)行選項(xiàng)協(xié)商的應(yīng)答
void?TermOpt(unsigned?char?verb);?//對(duì)終端類型選項(xiàng)協(xié)商的應(yīng)答
void?RecvData(unsigned?char?ch);??//對(duì)接收的數(shù)據(jù)信息的處理
void?ParseESC(char*char);????????//解析ANSI控制碼
void?SendReply(unsigned?char?unsigned?char);??//選項(xiàng)協(xié)商的應(yīng)答
void?SendNoReply(unsigned?char??unsigned?char);??//對(duì)不感興趣的選項(xiàng)協(xié)商的否定應(yīng)答
void?SendTermType();?????????//發(fā)送本地終端類型這里是ANSI
void?ansi_set_screen_attribute(int*?int);??//設(shè)置顯示文本的前景色和背景色
void?ansi_set_cursor_position(int*?int);???//設(shè)置光標(biāo)的位置
void?ansi_clear_screen(int*?int);???????//清屏
void?ansi_erase_line();??????//清除從光標(biāo)開始到行末
void?ansi_cursor_up(int);????//光標(biāo)上移
void?ansi_cursor_down(int);??//光標(biāo)下移
void?ansi_cursor_backward(int);?//光標(biāo)左移
void?ansi_cursor_forward(int);??//光標(biāo)右移
int?SendData(SOCKET?sock?char*?sendbuf?int?sendlen);??//向服務(wù)器發(fā)送信息
char*?ltrim(char*);???//用戶輸入時(shí),去掉輸入串左邊的空白符
char*?rtrim(char*);???//用戶輸入時(shí),去掉輸入串右邊的空白符
void?getip(char*?int);?//得到用戶輸入的ip或域名
DWORD?WINAPI?SendProc(LPVOID?lpParemeter);??//發(fā)送信息線程函數(shù)
DWORD?WINAPI?RecvProc(LPVOID?lpParemeter);??//接受信息線程函數(shù)

HANDLE?hstdin;
HANDLE?hstdout;
SOCKET?sock;
int?main()
{
WSADATA?wsaData;
SOCKADDR_IN?srvaddr;
HANDLE?hThread[2];
int?ret;
hostent?remotehost*phostent;
char?strIP[80];

phostent?=?&remotehost;

hstdin?=?GetStdHandle(STD_INPUT_HANDLE);
hstdout?=?GetStdHandle(STD_OUTPUT_HANDLE);
FlushConsoleInputBuffer(hstdin);//注意,初始化刷新輸入緩沖區(qū)
COORD?bufsize?=?{100?40};
SetConsoleScreenBufferSize(hstdout?bufsize);

ret?=?WSAStartup(MAKEWORD(2?2)?&wsaData);

if(ret?!=?0)
{
printf(“加載套接字庫失敗\n“);
return?-1;
}

if(LOBYTE(wsaData.wVersion)?!=?2?||
HIBYTE(wsaData.wVersion)?!=?2)
{
printf(“套接字庫版本不一致\n“);
WSACleanup();
return?-1;
}

sock?=?socket(AF_INET?SOCK_STREAM?IPPROTO_TCP);
if(sock?==?INVALID_SOCKET)
{
printf(“創(chuàng)建套接字失敗\n“);
WSACleanup();
????????return?-1;
}
getip(strIP?80);
if(strIP[0]?>=?‘0‘?&&?strIP[0]?<=?‘9‘)
{
srvaddr.sin_addr.S_un.S_addr?=?inet_addr(st

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件??????40960??2013-01-01?15:46??TelnetTest\Debug\TelnetTest.exe

?????文件?????458648??2013-01-01?15:46??TelnetTest\Debug\TelnetTest.ilk

?????文件?????535552??2013-01-01?15:46??TelnetTest\Debug\TelnetTest.pdb

?????文件??????10498??2013-01-01?15:46??TelnetTest\TelnetTest\Debug\BuildLog.htm

?????文件??????68267??2013-01-01?15:46??TelnetTest\TelnetTest\Debug\main.obj

?????文件?????????65??2013-01-01?15:46??TelnetTest\TelnetTest\Debug\mt.dep

?????文件????????663??2012-12-10?14:03??TelnetTest\TelnetTest\Debug\TelnetTest.exe.embed.manifest

?????文件????????728??2012-12-10?14:03??TelnetTest\TelnetTest\Debug\TelnetTest.exe.embed.manifest.res

?????文件????????621??2013-01-01?15:46??TelnetTest\TelnetTest\Debug\TelnetTest.exe.intermediate.manifest

?????文件?????363520??2013-01-01?15:46??TelnetTest\TelnetTest\Debug\vc90.idb

?????文件?????126976??2013-01-01?15:46??TelnetTest\TelnetTest\Debug\vc90.pdb

?????文件??????16259??2013-01-01?14:26??TelnetTest\TelnetTest\main.cpp

?????文件???????3922??2012-12-18?16:52??TelnetTest\TelnetTest\TelnetTest.vcproj

?????文件???????1415??2013-01-01?16:14??TelnetTest\TelnetTest\TelnetTest.vcproj.xiaoma-PC.Administrator.user

?????文件???14085120??2013-01-01?16:14??TelnetTest\TelnetTest.ncb

?????文件????????896??2012-12-10?13:41??TelnetTest\TelnetTest.sln

????..A..H.??????9728??2013-01-01?16:14??TelnetTest\TelnetTest.suo

?????文件?????156469??2013-01-01?16:12??程序說明.docx

?????目錄??????????0??2013-01-01?15:46??TelnetTest\TelnetTest\Debug

?????目錄??????????0??2012-12-30?16:05??TelnetTest\Debug

?????目錄??????????0??2013-01-01?14:26??TelnetTest\TelnetTest

?????目錄??????????0??2012-12-31?15:46??TelnetTest

-----------?---------??----------?-----??----

?????????????15880307????????????????????22


評(píng)論

共有 條評(píng)論