我正在用C++編寫客戶端/服務器應用程序,需要實現簡單的協議才能正確發送和接收數據。我有一個服務器協議類,可以將消息轉換爲我的格式,然後再從此格式轉換它。
,什麼是服務器端的協議看起來像:什麼OOP設計決策適合客戶端/服務器應用程序中協議的情況?
class BaseProtocol {
protected:
int NumberOfBytesInPackOfText;
std::string serviceString;
public:
BaseProtocol(int SizeOfTextPack, const char* extraString):
NumberOfBytesInPackOfText(SizeOfTextPack),
serviceString(extraString) {}
virtual std::string& convertToSystemMessage(const char* message)=0;
virtual std::string& convertToNativeMessage(const char* message)=0;
virtual ~BaseProtocol() {
NumberOfBytesInPackOfText = 0;
serviceString = "";
}
};
class SimpleProtocol: public BaseProtocol {
public:
SimpleProtocol(int SizeOfTextPack, const char* service):
BaseProtocol(SizeOfTextPack, service) {}
std::string& convertToSystemMessage(const char* nativeMessage);
std::string& convertToNativeMessage(const char* systemMessage);
};
現在我不能決定什麼會是更好的決定,使實現對客戶端應用程序協議。服務器協議的朋友類?或者可能需要從服務器協議中提取子類,然後客戶端協議將從此類派生?