1 #include "CClientConnection.h"
3 ////////////////////////////////////////////////////////////////////////////////
4 //
\83R
\83\93\83X
\83g
\83\89\83N
\83^
5 ////////////////////////////////////////////////////////////////////////////////
6 CClientConnection::CClientConnection()
11 ////////////////////////////////////////////////////////////////////////////////
12 //
\83f
\83X
\83g
\83\89\83N
\83^
13 ////////////////////////////////////////////////////////////////////////////////
14 CClientConnection::~CClientConnection()
18 ////////////////////////////////////////////////////////////////////////////////
20 ////////////////////////////////////////////////////////////////////////////////
21 bool CClientConnection::initialize()
23 CSocket::initialize();
27 ////////////////////////////////////////////////////////////////////////////////
29 ////////////////////////////////////////////////////////////////////////////////
30 bool CClientConnection::send(const CommunicationData* in_pCommunicationData)
32 //
\83T
\83C
\83Y
\82Í
\8c\88\82ß
\91Å
\82¿
33 if(::send(m_Socket, reinterpret_cast<const char*>(in_pCommunicationData), MAX_COMMUNICATION_DATA_LENGTH, 0) == SOCKET_ERROR){
39 ////////////////////////////////////////////////////////////////////////////////
41 ////////////////////////////////////////////////////////////////////////////////
42 bool CClientConnection::receive(CommunicationData** out_ppCommunicationData)
48 *out_ppCommunicationData = reinterpret_cast<CommunicationData*>(m_Buffer.getReadPointer()->m_Buffer);
49 m_Buffer.nextReadBuffer();
53 ////////////////////////////////////////////////////////////////////////////////
55 ////////////////////////////////////////////////////////////////////////////////
56 bool CClientConnection::login(const char* in_pLoginName)
58 CommunicationData a_SendData;
59 a_SendData.m_DataType = 'i';
60 strcpy(a_SendData.m_Data.m_LoginData.m_Name, in_pLoginName);
63 //
\82±
\82Ì
\83t
\83\89\83O
\82Í
\8eó
\90M
\83\81\83b
\83Z
\81[
\83W
\82ð
\8am
\82©
\82ß
\82Ä
\82©
\82ç
\95Ï
\8dX
\82·
\82é
\82×
\82«
68 ////////////////////////////////////////////////////////////////////////////////
70 ////////////////////////////////////////////////////////////////////////////////
71 bool CClientConnection::logout()
73 CommunicationData a_SendData;
74 a_SendData.m_DataType = 'o';
79 ////////////////////////////////////////////////////////////////////////////////
81 ////////////////////////////////////////////////////////////////////////////////
82 bool CClientConnection::requestPosition()
84 CommunicationData a_SendData;
85 a_SendData.m_DataType = 'p';
90 ////////////////////////////////////////////////////////////////////////////////
92 ////////////////////////////////////////////////////////////////////////////////
93 bool CClientConnection::requestMove(char in_Direction)
95 CommunicationData a_SendData;
96 a_SendData.m_DataType = 'a';
97 a_SendData.m_Data.m_ActionCommand.m_CommandType = in_Direction;
102 ////////////////////////////////////////////////////////////////////////////////
103 //
\89¹
\90º
\91\97\90M
104 ////////////////////////////////////////////////////////////////////////////////
105 bool CClientConnection::sendVoice(char* in_pVoice, int in_Length, bool in_isEnd)
107 CommunicationData a_SendData;
109 if(sizeof(a_SendData.m_Data.m_Voice.m_Stream) < in_Length){
113 a_SendData.m_DataType = 'v';
114 for(int i = 0; i < in_Length; i++){
115 a_SendData.m_Data.m_Voice.m_Stream[i] = in_pVoice[i];
117 a_SendData.m_Data.m_Voice.m_Length = in_Length;
118 a_SendData.m_Data.m_Voice.m_isEnd = in_isEnd;