mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-04 18:41: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 {
|
||||
callback = std::move(handler);
|
||||
state = ConnectionState::CONNECTED;
|
||||
logger.info() << "udp connection started " << id;
|
||||
|
||||
thread = std::make_unique<std::thread>([this]() {
|
||||
util::Buffer<char> buffer(16'384);
|
||||
while (true) {
|
||||
logger.info() << "SocketUdpConnection listening";
|
||||
logger.info() << "SocketUdpConnection " << id << " listening";
|
||||
int size = recv(descriptor, buffer.data(), buffer.size(), 0);
|
||||
logger.info() << "SocketUdpConnection received " << size;
|
||||
logger.info() << "SocketUdpConnection "<<id<<" received " << size;
|
||||
if (size <= 0) {
|
||||
logger.error() << handle_socket_error("SocketUdpConnection::recv").what();
|
||||
logger.error() <<id <<" -> " << handle_socket_error("SocketUdpConnection::recv").what();
|
||||
if (!open) break;
|
||||
closesocket(descriptor);
|
||||
state = ConnectionState::CLOSED;
|
||||
|
|
@ -719,7 +720,7 @@ public:
|
|||
auto err = handle_socket_error("udp sendto failed");
|
||||
closesocket(descriptor);
|
||||
state = ConnectionState::CLOSED;
|
||||
logger.error() << "SocketUdpConnection:send: " << err.what();
|
||||
logger.error() << "SocketUdpConnection "<<id<<":send: " << err.what();
|
||||
} else totalUpload += len;
|
||||
|
||||
return len;
|
||||
|
|
@ -728,7 +729,7 @@ public:
|
|||
void close(bool discardAll=false) override {
|
||||
if (!open) return;
|
||||
open = false;
|
||||
logger.info() << "closing udp connection";
|
||||
logger.info() << "closing udp connection "<<id;
|
||||
|
||||
if (state != ConnectionState::CLOSED) {
|
||||
shutdown(descriptor, 2);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue