Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
#include "stdafx.h"
|
||||
#include "INET_Addr.h"
|
||||
#include "GMMemory.h"
|
||||
|
||||
void INET_Addr::set_addr(const char* addr, const unsigned short port)
|
||||
{
|
||||
memset(&m_SockAddr, 0, sizeof(sockaddr));
|
||||
sockaddr_in& addr_in = *reinterpret_cast<sockaddr_in*>(&m_SockAddr);
|
||||
|
||||
addr_in.sin_family = AF_INET;
|
||||
addr_in.sin_addr.s_addr = (NULL == addr) ? htonl(INADDR_ANY) : inet_addr(addr);
|
||||
addr_in.sin_port = (0 == port) ? 0 : htons(port);
|
||||
|
||||
m_iAddrLen = sizeof(sockaddr_in);
|
||||
}
|
||||
|
||||
|
||||
void INET_Addr::set_addr(const sockaddr& addr, const int size)
|
||||
{
|
||||
m_SockAddr = addr;
|
||||
m_iAddrLen = size;
|
||||
}
|
||||
|
||||
|
||||
void INET_Addr::set_addr(const IN_ADDR addr, const unsigned short port)
|
||||
{
|
||||
memset(&m_SockAddr, 0, sizeof(sockaddr));
|
||||
sockaddr_in& addr_in = *reinterpret_cast<sockaddr_in*>(&m_SockAddr);
|
||||
|
||||
addr_in.sin_family = AF_INET;
|
||||
addr_in.sin_addr = addr;
|
||||
addr_in.sin_port = (0 == port) ? 0 : htons(port);
|
||||
|
||||
m_iAddrLen = sizeof(sockaddr_in);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
#ifndef _GAMA_INET_ADDR_
|
||||
#define _GAMA_INET_ADDR_
|
||||
|
||||
#ifndef WIN32_LEAN_AND_MEAN
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#endif
|
||||
|
||||
#include <winsock2.h>
|
||||
#include <windows.h>
|
||||
|
||||
class INET_Addr
|
||||
{
|
||||
public:
|
||||
|
||||
INET_Addr() : m_iAddrLen(0) { memset(&m_SockAddr, 0, sizeof(SOCKADDR)); }
|
||||
INET_Addr(const char* addr, unsigned short port) { set_addr(addr, port); }
|
||||
INET_Addr(IN_ADDR addr, unsigned short port) { set_addr(addr, port); }
|
||||
INET_Addr(sockaddr& addr, int size) { set_addr(addr, size); }
|
||||
~INET_Addr() { }
|
||||
|
||||
void clear() { m_iAddrLen = 0; memset(&m_SockAddr, 0, sizeof(SOCKADDR)); }
|
||||
|
||||
void set_addr(const char* addr, const unsigned short port);
|
||||
void set_addr(const IN_ADDR addr, const unsigned short port);
|
||||
void set_addr(const sockaddr& addr, const int size);
|
||||
|
||||
// Winsock<63>Լ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ؼ<EFBFBD> const<73><74> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʾ<EFBFBD><CABE><EFBFBD>.
|
||||
sockaddr& get_addr() { return m_SockAddr; }
|
||||
|
||||
const sockaddr_in& get_addr_in() const { return reinterpret_cast<const sockaddr_in&>(m_SockAddr); }
|
||||
unsigned short get_port_in() const { return ntohs(reinterpret_cast<const sockaddr_in&>(m_SockAddr).sin_port); }
|
||||
const char* get_addr_string() const { return inet_ntoa(reinterpret_cast<const sockaddr_in&>(m_SockAddr).sin_addr); }
|
||||
|
||||
int get_size() const { return m_iAddrLen; }
|
||||
|
||||
int* get_size_ptr() { return &m_iAddrLen; }
|
||||
void set_size(int n) { m_iAddrLen = n; }
|
||||
|
||||
static int get_addr_buffer_size() { return sizeof(sockaddr); }
|
||||
|
||||
private:
|
||||
|
||||
sockaddr m_SockAddr;
|
||||
int m_iAddrLen;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user