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

📄 evaconnecter.h

📁 linux下的eva源代码
💻 H
字号:
/*************************************************************************** *   Copyright (C) 2004 by yunfan                                          * *   yunfan_zg@163.com                                                     * *                                                                         * *   This program is free software; you can redistribute it and/or modify  * *   it under the terms of the GNU General Public License as published by  * *   the Free Software Foundation; either version 2 of the License, or     * *   (at your option) any later version.                                   * *                                                                         * *   This program is distributed in the hope that it will be useful,       * *   but WITHOUT ANY WARRANTY; without even the implied warranty of        * *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         * *   GNU General Public License for more details.                          * *                                                                         * *   You should have received a copy of the GNU General Public License     * *   along with this program; if not, write to the                         * *   Free Software Foundation, Inc.,                                       * *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             * ***************************************************************************/#ifndef EVACONNECTER_H #define EVACONNECTER_H#include <qobject.h>#include <qptrlist.h>#include <qhostaddress.h>#include <qstring.h>#include "evapacket.h"#include "evanetwork.h"class QTimer;class InPacket;class EvaConnecter : public QObject {	Q_OBJECTpublic:	EvaConnecter(EvaNetwork *network);	~EvaConnecter();		void append(OutPacket *out);	InPacket *getInPacket();	const unsigned int numOfOutPackets() const { return outPool.count(); }	const unsigned int numOfInPackets() const { return inPool.count(); }	void redirectTo(const int ip, const short port);	void connect();        void stop();	bool isConnectionReady() const { return connectionReady; }	        const EvaNetwork::Type getConnectionType() const { return connecter->connectionType(); }	const QHostAddress getSocketIp();	const unsigned int getSocketPort();	const QHostAddress &getHostAddress() const { return connecter->getHostAddress();}  // if it's Http Proxy, return the proxy's address	const short getHostPort() const { return connecter->getHostPort(); }public slots:	void slotClientReady();signals:	void isReady();	void networkException(int);	void packetException(int);	void sendMessage(int, bool);	void sendQunMessage(int, bool, QString);	void newPacket();	void clientNotReady();private:	bool connectionReady;	bool m_IsDetecting;	bool isClientSetup;	QPtrList<InPacket> inPool;	QPtrList<OutPacket> outPool;	QTimer *timer;	bool isConnected;	EvaNetwork *connecter;		unsigned char buffer[65535];	unsigned short packetLength;	unsigned int bufLength;		void sendOut( OutPacket *out);	void removePacket(const int hashCode ); // remove packet which needs acknowlegement	void removeOutRequests(const short cmd);	void startDetecting();	void processDetectReply(InPacket *in);private slots:	void isReadySlot();	void processPacket(char *data, int len);	void dataCommingSlot(int len);	void packetMonitor();	void clearAllPools();	void slotNetworkException(int num);};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -