📄 chat.h
字号:
/* File : chat.h */
/* Define constant */
const int MAX_USRS = 10;
const int QUE_LEN = 10;
const int MAX_PACKET_LEN = 1000;
const int MAX_NAME_LEN = 100;
struct Message
{
long sn;
int connection;
char* message;
};
/****************************************************
class name : MessageQue
Function: A queue for message
******************************************************/
class MessageQue
{
long lastSN;
int queLen; // The length of the queue
vector<Message*> *queue;
MyMutex* lock;
public:
MessageQue(int len);
~MessageQue();
int Add(int conn, char* m);
int Get(int conn, long* maxsn, char* m);
long GetSN() {return lastSN;}
void SetSN(int sn) { lastSN = sn;}
int GetQueLen() { return queLen;}
void SetQueLen(int l) { queLen = l;}
};
/****************************************************
class name : ChatServer
Function: chat with multiple users
******************************************************/
class ChatServer : public TcpServThr
{
protected:
int max_usrs;
int queLen;
MessageQue *msg;
MyCondition *con;
public:
ChatServer();
ChatServer(int port, char *hostname = NULL);
ChatServer(int port, int max_conn, int maxusers, int len, char *hostname = NULL);
virtual ~ChatServer();
void SetMaxUser(int num) {max_usrs = num;}
int GetMaxUser() { return max_usrs;}
void DealRecv(MyThread* thread);
void DealSend(MyThread* thread);
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -