-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCClient.cpp
More file actions
113 lines (90 loc) · 2.04 KB
/
Copy pathCClient.cpp
File metadata and controls
113 lines (90 loc) · 2.04 KB
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
//
// Created by ghost on 16-4-28.
//
#include "CClient.h"
CClient::CClient(int flag):m_Flag(flag),m_PasvDataTransfer(NULL){
}
CClient::~CClient() {
//cout << "one client is delete." << endl;
close(m_Flag);
}
ssize_t CClient::sendErrorMsg() {
if(m_State < USER){
string ret = "530 Please login with USER and PASS.\r\n";
return sendMsg(ret);
}
else{
string ret = "500 Unknown command.\r\n";
return sendMsg(ret);
}
}
ssize_t CClient::sendWlcomeMsg(){
string ret = "220 SimpleFtpServer\r\n";
return sendMsg(ret);
}
bool CClient::IsMe(int flag) {
if(flag == m_Flag)
return true;
else
return false;
}
EFTPSTATE CClient::GetClientState() {
return m_State;
}
bool CClient::SetClientState(EFTPSTATE state) {
m_State = state;
return true;
}
bool CClient::SetUserDir(const string &dir){
if(!dir.empty()){
m_RootDir = dir;
return true;
}
else{
return false;
}
}
string CClient::GetUserDir() const{
return m_RootDir;
}
bool CClient::SetClientName(const string &name){
m_Name = name;
return true;
}
string CClient::GetClientName() const{
return m_Name;
}
int CClient::GetClientfd() const{
return m_Flag;
}
ssize_t CClient::sendMsg(const string &msg){
return write(m_Flag,msg.c_str(),msg.size());
}
bool CClient::SetClientPasvDataTransfer(CPasvDataTransfer *pDataTransfer) {
m_PasvDataTransfer = pDataTransfer;
}
CPasvDataTransfer *CClient::GetClientPasvDataTransfer() const{
return m_PasvDataTransfer;
}
bool CClient::SetClientLastFileName(const string &name){
if(!name.empty()){
m_LastFileName = name;
return true;
}
else{
return false;
}
}
string CClient::GetClientLastFileName() const{
return m_LastFileName;
}
bool CClient::SetClientPortIpAndPort(const string &ip, const int port) {
m_PortIp = ip;
m_PortPort = port;
return true;
}
int CClient::GetClientPortIpAndPort(string &ip) {
ip = m_PortIp;
m_PortIp.clear();
return m_PortPort;
}