@@ -67,11 +67,18 @@ BOOL CP2XPProtocol_Packet::P2XPProtocol_Packet_Common(XENGINE_PROTOCOLHDR* pSt_P
6767 {
6868 st_JsonRoot[" lpszMsgBuffer" ] = lpszMsgBuffer;
6969 }
70- pSt_ProtocolHdr->unPacketSize = st_JsonRoot.toStyledString ().length ();
71-
72- *pInt_MsgLen = sizeof (XENGINE_PROTOCOLHDR) + st_JsonRoot.toStyledString ().length ();
73- memcpy (ptszMsgBuffer, pSt_ProtocolHdr, sizeof (XENGINE_PROTOCOLHDR));
74- memcpy (ptszMsgBuffer + sizeof (XENGINE_PROTOCOLHDR), st_JsonRoot.toStyledString ().c_str (), pSt_ProtocolHdr->unPacketSize );
70+ if (NULL == pSt_ProtocolHdr)
71+ {
72+ *pInt_MsgLen = st_JsonRoot.toStyledString ().length ();
73+ memcpy (ptszMsgBuffer, st_JsonRoot.toStyledString ().c_str (), *pInt_MsgLen);
74+ }
75+ else
76+ {
77+ pSt_ProtocolHdr->unPacketSize = st_JsonRoot.toStyledString ().length ();
78+ *pInt_MsgLen = sizeof (XENGINE_PROTOCOLHDR) + pSt_ProtocolHdr->unPacketSize ;
79+ memcpy (ptszMsgBuffer, pSt_ProtocolHdr, sizeof (XENGINE_PROTOCOLHDR));
80+ memcpy (ptszMsgBuffer + sizeof (XENGINE_PROTOCOLHDR), st_JsonRoot.toStyledString ().c_str (), pSt_ProtocolHdr->unPacketSize );
81+ }
7582 return TRUE ;
7683}
7784/* *******************************************************************
@@ -131,11 +138,18 @@ BOOL CP2XPProtocol_Packet::P2XPProtocol_Packet_Lan(XENGINE_PROTOCOLHDR* pSt_Prot
131138 st_JsonRoot[" ClientArray" ] = st_JsonArray;
132139 st_JsonRoot[" ClientCount" ] = nListCount;
133140
134- pSt_ProtocolHdr->unPacketSize = st_JsonRoot.toStyledString ().length ();
135-
136- *pInt_MsgLen = sizeof (XENGINE_PROTOCOLHDR) + st_JsonRoot.toStyledString ().length ();
137- memcpy (ptszMsgBuffer, pSt_ProtocolHdr, sizeof (XENGINE_PROTOCOLHDR));
138- memcpy (ptszMsgBuffer + sizeof (XENGINE_PROTOCOLHDR), st_JsonRoot.toStyledString ().c_str (), pSt_ProtocolHdr->unPacketSize );
141+ if (NULL == pSt_ProtocolHdr)
142+ {
143+ *pInt_MsgLen = st_JsonRoot.toStyledString ().length ();
144+ memcpy (ptszMsgBuffer, st_JsonRoot.toStyledString ().c_str (), *pInt_MsgLen);
145+ }
146+ else
147+ {
148+ pSt_ProtocolHdr->unPacketSize = st_JsonRoot.toStyledString ().length ();
149+ *pInt_MsgLen = sizeof (XENGINE_PROTOCOLHDR) + pSt_ProtocolHdr->unPacketSize ;
150+ memcpy (ptszMsgBuffer, pSt_ProtocolHdr, sizeof (XENGINE_PROTOCOLHDR));
151+ memcpy (ptszMsgBuffer + sizeof (XENGINE_PROTOCOLHDR), st_JsonRoot.toStyledString ().c_str (), pSt_ProtocolHdr->unPacketSize );
152+ }
139153 return TRUE ;
140154}
141155/* *******************************************************************
@@ -232,11 +246,18 @@ BOOL CP2XPProtocol_Packet::P2XPProtocol_Packet_WLan(XENGINE_PROTOCOLHDR* pSt_Pro
232246 st_JsonRoot[" ClientArray" ] = st_JsonArray;
233247 st_JsonRoot[" ClientCount" ] = nCount;
234248
235- pSt_ProtocolHdr->unPacketSize = st_JsonRoot.toStyledString ().length ();
236-
237- *pInt_MsgLen = sizeof (XENGINE_PROTOCOLHDR) + st_JsonRoot.toStyledString ().length ();
238- memcpy (ptszMsgBuffer, pSt_ProtocolHdr, sizeof (XENGINE_PROTOCOLHDR));
239- memcpy (ptszMsgBuffer + sizeof (XENGINE_PROTOCOLHDR), st_JsonRoot.toStyledString ().c_str (), pSt_ProtocolHdr->unPacketSize );
249+ if (NULL == pSt_ProtocolHdr)
250+ {
251+ *pInt_MsgLen = st_JsonRoot.toStyledString ().length ();
252+ memcpy (ptszMsgBuffer, st_JsonRoot.toStyledString ().c_str (), *pInt_MsgLen);
253+ }
254+ else
255+ {
256+ pSt_ProtocolHdr->unPacketSize = st_JsonRoot.toStyledString ().length ();
257+ *pInt_MsgLen = sizeof (XENGINE_PROTOCOLHDR) + pSt_ProtocolHdr->unPacketSize ;
258+ memcpy (ptszMsgBuffer, pSt_ProtocolHdr, sizeof (XENGINE_PROTOCOLHDR));
259+ memcpy (ptszMsgBuffer + sizeof (XENGINE_PROTOCOLHDR), st_JsonRoot.toStyledString ().c_str (), pSt_ProtocolHdr->unPacketSize );
260+ }
240261 return TRUE ;
241262}
242263/* *******************************************************************
@@ -292,12 +313,18 @@ BOOL CP2XPProtocol_Packet::P2XPProtocol_Packet_User(XENGINE_PROTOCOLHDR* pSt_Pro
292313 st_JsonRoot[" tszUserName" ] = pSt_PeerInfo->tszUserName ;
293314
294315 st_JsonBuilder[" emitUTF8" ] = true ;
295-
296- pSt_ProtocolHdr->unPacketSize = Json::writeString (st_JsonBuilder, st_JsonRoot).length ();
297-
298- *pInt_MsgLen = sizeof (XENGINE_PROTOCOLHDR) + st_JsonRoot.toStyledString ().length ();
299- memcpy (ptszMsgBuffer, pSt_ProtocolHdr, sizeof (XENGINE_PROTOCOLHDR));
300- memcpy (ptszMsgBuffer + sizeof (XENGINE_PROTOCOLHDR), Json::writeString (st_JsonBuilder, st_JsonRoot).c_str (), pSt_ProtocolHdr->unPacketSize );
316+ if (NULL == pSt_ProtocolHdr)
317+ {
318+ *pInt_MsgLen = Json::writeString (st_JsonBuilder, st_JsonRoot).length ();
319+ memcpy (ptszMsgBuffer, Json::writeString (st_JsonBuilder, st_JsonRoot).c_str (), *pInt_MsgLen);
320+ }
321+ else
322+ {
323+ pSt_ProtocolHdr->unPacketSize = Json::writeString (st_JsonBuilder, st_JsonRoot).length ();
324+ *pInt_MsgLen = sizeof (XENGINE_PROTOCOLHDR) + pSt_ProtocolHdr->unPacketSize ;
325+ memcpy (ptszMsgBuffer, pSt_ProtocolHdr, sizeof (XENGINE_PROTOCOLHDR));
326+ memcpy (ptszMsgBuffer + sizeof (XENGINE_PROTOCOLHDR), Json::writeString (st_JsonBuilder, st_JsonRoot).c_str (), pSt_ProtocolHdr->unPacketSize );
327+ }
301328 return TRUE ;
302329}
303330/* *******************************************************************
@@ -332,7 +359,7 @@ BOOL CP2XPProtocol_Packet::P2XPProtocol_Packet_Connect(XENGINE_PROTOCOLHDR* pSt_
332359{
333360 P2XPProtocol_IsErrorOccur = FALSE ;
334361
335- if ((NULL == pSt_ProtocolHdr) || ( NULL == ptszMsgBuffer) || (NULL == pInt_MsgLen))
362+ if ((NULL == ptszMsgBuffer) || (NULL == pInt_MsgLen))
336363 {
337364 P2XPProtocol_IsErrorOccur = FALSE ;
338365 P2XPProtocol_dwErrorCode = ERROR_XENGINE_P2XP_PROTOCOL_PARAMENT;
@@ -346,10 +373,17 @@ BOOL CP2XPProtocol_Packet::P2XPProtocol_Packet_Connect(XENGINE_PROTOCOLHDR* pSt_
346373 st_JsonRoot[" nDestPort" ] = pSt_IOProtocol->nDestPort ;
347374 st_JsonRoot[" bIsTcp" ] = pSt_IOProtocol->bIsTcp ;
348375
349- pSt_ProtocolHdr->unPacketSize = st_JsonRoot.toStyledString ().length ();
350-
351- *pInt_MsgLen = sizeof (XENGINE_PROTOCOLHDR) + st_JsonRoot.toStyledString ().length ();
352- memcpy (ptszMsgBuffer, pSt_ProtocolHdr, sizeof (XENGINE_PROTOCOLHDR));
353- memcpy (ptszMsgBuffer + sizeof (XENGINE_PROTOCOLHDR), st_JsonRoot.toStyledString ().c_str (), pSt_ProtocolHdr->unPacketSize );
376+ if (NULL == pSt_ProtocolHdr)
377+ {
378+ *pInt_MsgLen = st_JsonRoot.toStyledString ().length ();
379+ memcpy (ptszMsgBuffer, st_JsonRoot.toStyledString ().c_str (), *pInt_MsgLen);
380+ }
381+ else
382+ {
383+ pSt_ProtocolHdr->unPacketSize = st_JsonRoot.toStyledString ().length ();
384+ *pInt_MsgLen = sizeof (XENGINE_PROTOCOLHDR) + pSt_ProtocolHdr->unPacketSize ;
385+ memcpy (ptszMsgBuffer, pSt_ProtocolHdr, sizeof (XENGINE_PROTOCOLHDR));
386+ memcpy (ptszMsgBuffer + sizeof (XENGINE_PROTOCOLHDR), st_JsonRoot.toStyledString ().c_str (), pSt_ProtocolHdr->unPacketSize );
387+ }
354388 return TRUE ;
355389}
0 commit comments