mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-11 22:11:51 +00:00
update Network.cpp 2
This commit is contained in:
parent
de5a05e80e
commit
fb77be1822
1 changed files with 6 additions and 5 deletions
|
|
@ -691,15 +691,16 @@ public:
|
||||||
void connect(ClientDatagramCallback handler) override {
|
void connect(ClientDatagramCallback handler) override {
|
||||||
callback = std::move(handler);
|
callback = std::move(handler);
|
||||||
state = ConnectionState::CONNECTED;
|
state = ConnectionState::CONNECTED;
|
||||||
|
logger.info() << "udp connection started " << id;
|
||||||
|
|
||||||
thread = std::make_unique<std::thread>([this]() {
|
thread = std::make_unique<std::thread>([this]() {
|
||||||
util::Buffer<char> buffer(16'384);
|
util::Buffer<char> buffer(16'384);
|
||||||
while (true) {
|
while (true) {
|
||||||
logger.info() << "SocketUdpConnection listening";
|
logger.info() << "SocketUdpConnection " << id << " listening";
|
||||||
int size = recv(descriptor, buffer.data(), buffer.size(), 0);
|
int size = recv(descriptor, buffer.data(), buffer.size(), 0);
|
||||||
logger.info() << "SocketUdpConnection received " << size;
|
logger.info() << "SocketUdpConnection "<<id<<" received " << size;
|
||||||
if (size <= 0) {
|
if (size <= 0) {
|
||||||
logger.error() << handle_socket_error("SocketUdpConnection::recv").what();
|
logger.error() <<id <<" -> " << handle_socket_error("SocketUdpConnection::recv").what();
|
||||||
if (!open) break;
|
if (!open) break;
|
||||||
closesocket(descriptor);
|
closesocket(descriptor);
|
||||||
state = ConnectionState::CLOSED;
|
state = ConnectionState::CLOSED;
|
||||||
|
|
@ -719,7 +720,7 @@ public:
|
||||||
auto err = handle_socket_error("udp sendto failed");
|
auto err = handle_socket_error("udp sendto failed");
|
||||||
closesocket(descriptor);
|
closesocket(descriptor);
|
||||||
state = ConnectionState::CLOSED;
|
state = ConnectionState::CLOSED;
|
||||||
logger.error() << "SocketUdpConnection:send: " << err.what();
|
logger.error() << "SocketUdpConnection "<<id<<":send: " << err.what();
|
||||||
} else totalUpload += len;
|
} else totalUpload += len;
|
||||||
|
|
||||||
return len;
|
return len;
|
||||||
|
|
@ -728,7 +729,7 @@ public:
|
||||||
void close(bool discardAll=false) override {
|
void close(bool discardAll=false) override {
|
||||||
if (!open) return;
|
if (!open) return;
|
||||||
open = false;
|
open = false;
|
||||||
logger.info() << "closing udp connection";
|
logger.info() << "closing udp connection "<<id;
|
||||||
|
|
||||||
if (state != ConnectionState::CLOSED) {
|
if (state != ConnectionState::CLOSED) {
|
||||||
shutdown(descriptor, 2);
|
shutdown(descriptor, 2);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue