📄 telnetserver.h
字号:
#include <string.h>
#include <winsock.h>
#pragma comment(lib, "wsock32.lib")
struct USER // 存储客户信息
{
char cName[19]; // 用户名
char cInput[256]; // 用户输入消息
SOCKET sUser; // 通信socket
SOCKADDR_IN user_sin; // 接受用户的地址
int user_sin_len; // user_sin的长度
char cNote[256]; // 混合信息
};
struct MESSAGE
{
int nUser;
char cMsg[256];
};
//telnet服务器类
class TelnetServer
{
public:
TelnetServer();
setServer(int nPort, int nMaxConnects, char connectMsg[9999], char serverFullMsg[9999]);
~TelnetServer();
MESSAGE getMessage();
int startListen();
void stopListen();
void closeClientSocket(int nUser);
void acceptConnects();
void acceptMessages();
USER getUserInfo(int nUser);
void setUserName(int nUser, char cName[19]);
void setUserNote(int nUser, char cNote[256]);
int sendUser(int nUser, char cSend[256]);
void sendAll(char cSend[256]);
void closeEmptySockets();
protected:
USER *user; // 存储所有的客户
int PORT; // 监听端口
int MAX_CONNECTS; // 允许的最大用户数
char CONNECT_MSG[9999]; // 客户端成功连接后发送的消息
char SERVER_FULL_MSG[9999]; // 服务器满后发送的消息
char cOutput[255]; // 发送到用户的文字
SOCKET sServer; // 服务器socket
SOCKADDR_IN server_sin; // 局部socket地址
WSADATA WSAData; // winsock细节
MESSAGE mMsg[100]; // 消息队列
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -