0
Java客戶端根據該骨架構造一個消息:是否可以在protobuf-csharp-port中檢測消息類型?
package tutorial;
option java_package = "com.example.sff.piki2";
option java_outer_classname = "MsgProtos";
message MSG {
required string guid = 1;
required int32 MsgCode = 2;
required int32 From = 3; //sender
...
該消息被髮送到C#程序(服務器端)。
服務器知道如何讀取字節(第一個字節是要讀取的字節數,它表示以下消息的大小)。
這是MSG如何通過字節數組構建的。
MSG Msg = MSG.CreateBuilder().MergeFrom(buffer).Build();
其中buffer是從套接字讀取的字節數組。
但現在我處於客戶端需要發送「心跳」消息(另一個消息)以檢查服務器是否存活的情況。 (服務器應該回應:「是的,我還活着」)
當然,我可以添加另一個字段到MSG
類。但我不想,因爲MSG
類有很多不必要的字段 - 對於心跳操作。
問:
服務器讀取n個字節。無論如何,我可以知道這是否是MSG
消息或「心跳」消息?