/
tcp_server.h
71 lines (56 loc) · 1.68 KB
/
tcp_server.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/**
* @file TcpServer.h
* @brief TCP服务类声明
* @author hrh <huangrh@landuntec.com>
* @version 1.0.0
* @date 2011-12-07
*
* @verbatim
* ============================================================================
* Copyright (c) Shenzhen Landun technology Co.,Ltd. 2011
* All rights reserved.
*
* Use of this software is controlled by the terms and conditions found in the
* license agreenment under which this software has been supplied or provided.
* ============================================================================
*
* @endverbatim
*
*/
#ifndef _TCPSERVER_H_
#define _TCPSERVER_H_
#include "thread.h"
#include "tcp_client.h"
#include "ldczn_protocol.h"
class NetPacket;
class TcpServer: public Thread
{
public:
int Process(char *buf, int len);
TcpServer(TcpClient *client);
~TcpServer();
protected:
void Run();
private:
bool bClient; //是否有客户端已连接服务器
int server_sock; //服务器socket
int clnt_sock; //客户端socket
TcpClient *_client; //相机客户端线程对象指针
NetPacket *packet_parse;
void Init();
#if 0
int ProcessHeartBeat(struct payload_req *req, char *buf);
int ProcessRunning(struct payload_req *req, char *buf);
int ProcessImage(struct payload_req *req, char *buf);
int ProcessRequest(struct payload_req *req, char *buf);
int ProcessAck(struct payload_ack *ack, char *buf);
int ProcessHeader(struct header_std *head, int packet_len);
int ProcessImgStart();
int ProcessImgStop();
int ProcessImgSnap();
int ProcessImgMode(struct payload_req *req, char *buf);
int ProcessAewMode(struct payload_req *req, char *buf);
int ProcessImgSetParm(struct payload_req *req, char *buf);
#endif
};
#endif