OSDN Git Service

*Implemented various events for tcpserver.
[greensite/jasmine.git] / server / tcpserver.h
index 58c07d3..bff4177 100644 (file)
@@ -1,7 +1,7 @@
 #pragma once
 #include <QtNetwork>
-#include <QtCore>
 #include "../definition.h"
+#include "../structures/header.h"
 namespace network{
        class serverSocket;
 
@@ -12,7 +12,7 @@ namespace network{
        protected:
                void incomingConnection(int handle);
        signals:
-               bool pending(const serverSocket &);
+               bool pending(const QHostAddress &address);
                void msgReceived(const serverSocket &,const QString &);
                void socket_error(const serverSocket &);
        };
@@ -25,5 +25,14 @@ namespace network{
                QString file_pending();
        private slots:
                void read_data();
+       private:
+               enum mode{headsize,header,data} event;
+               void size_event();
+               void header_event();
+               void data_event();
+               //The size of header needs to be larger than 0, and smaller than or equal to 0xFFFF.
+               quint16 header_size;
+               structures::header head_data;
+               QString where_to_save;
        };
 }