Click here for larger image
Environment: VC6, NT4.0 SP3, not tested on 95 and VC5
The purpose of the TELNET Protocol is to provide a fairly general, bi-directional, eight-bit byte oriented communications facility. Its primary goal is to allow a standard method of interfacing terminal devices and terminal-oriented processes to each other. It is envisioned that the protocol may also be used for terminal-terminal communication ("linking") and process-process communication (distributed computation).GENERAL CONSIDERATIONS A TELNET connection is a Transmission Control Protocol (TCP) connection used to transmit data with interspersed TELNET control information. The TELNET Protocol is built upon three main ideas: first, the concept of a "Network Virtual Terminal"; second, the principle of negotiated options; and third, a symmetric view of terminals and processes.
This Project has several main classes
CSocketDx Class is used to establish TCP connection. In addition to the constructor and destructor it has 3 functions:
- CSocketDx(char *,int);
- int Create();
- int Connect();
- SOCKET TelnetConnect();
CSocketRx Class is used to receive data. It has only one thread.
- virtual ~CSocketRx();
- static DWORD RdTh(CSocketRx *);
CSocketTx Class is used to send data. It has only one thread.
- virtual ~CSocketTx();
- static DWORD SendTh(CSocketTx*);
CProtocolRx Class is used to implement Telnet protocol.
inline void yesreply(SOCKET server, _verb verb,_option option);
inline void noreply(SOCKET server, _verb verb,_option option);
inline void askfor(SOCKET server, _verb verb,_option option);
void TelentProtcol(SOCKET server,unsigned char code);