⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 telnetserver.h

📁 Visual C++网络通信编程实用案例精选光盘内容6-9章
💻 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 + -