diff --git a/Code/Game/GameServer/Implementation/GameServer.cpp b/Code/Game/GameServer/Implementation/GameServer.cpp index a4545a80..d2b86332 100644 --- a/Code/Game/GameServer/Implementation/GameServer.cpp +++ b/Code/Game/GameServer/Implementation/GameServer.cpp @@ -20,6 +20,9 @@ #include #include +//For conversion from wstring to string +#include + using namespace DanBias; using namespace Oyster::Network; using namespace Oyster::Thread; @@ -43,6 +46,11 @@ namespace } +std::string wstring_to_utf8 (const std::wstring& str) +{ + std::wstring_convert> myconv; + return myconv.to_bytes(str); +} DanBiasServerReturn GameServerAPI::ServerInitiate(const ServerInitDesc& desc) { @@ -50,7 +58,9 @@ DanBiasServerReturn GameServerAPI::ServerInitiate(const ServerInitDesc& desc) opt.mainOptions.listenPort = desc.listenPort; opt.mainOptions.ownerSession = &lobby; - GameLogic::Protocol_Broadcast_Test broadcastMessage(opt.mainOptions.listenPort, "127.0.0.1", "ServerName"); + std::string serverName = wstring_to_utf8(desc.serverName); + + GameLogic::Protocol_Broadcast_Test broadcastMessage(opt.mainOptions.listenPort, "127.0.0.1", serverName); opt.broadcastOptions.broadcast = true; opt.broadcastOptions.broadcastInterval = 1.0f; @@ -63,7 +73,10 @@ DanBiasServerReturn GameServerAPI::ServerInitiate(const ServerInitDesc& desc) GameSession::GameDescription d; std::printf("Server created!\t-\t%s: [%i]\n\n", server.GetLanAddress().c_str(), desc.listenPort); - + + GameLogic::Protocol_Broadcast_Test broadcastMessage2(opt.mainOptions.listenPort, server.GetLanAddress(), serverName); + server.SetBroadcastMessage(broadcastMessage2.GetProtocol()); + return DanBiasServerReturn_Sucess; } void GameServerAPI::ServerStart() diff --git a/Code/Network/NetworkAPI/NetworkClient.cpp b/Code/Network/NetworkAPI/NetworkClient.cpp index 9f26121b..91bd13cb 100644 --- a/Code/Network/NetworkAPI/NetworkClient.cpp +++ b/Code/Network/NetworkAPI/NetworkClient.cpp @@ -133,6 +133,7 @@ struct NetworkClient::PrivateData : public IThreadObject CloseHandle(shutdownEvent); } + //Thread for receiving broadcast messages void BroadcastThread() { WSANETWORKEVENTS wsaEvents;