Commit 4b33b1ce authored by Pavel Vainerman's avatar Pavel Vainerman

UNet2: исправил ошибку в расчёте длины посылаемого пакета

parent 85c2324a
...@@ -51,6 +51,7 @@ namespace UniSetUDP ...@@ -51,6 +51,7 @@ namespace UniSetUDP
inline bool isFull(){ return count<MaxDataCount; } inline bool isFull(){ return count<MaxDataCount; }
inline int size(){ return count; } inline int size(){ return count; }
inline int byte_size(){ return count*sizeof(UDPData); }
DataPacket msg; DataPacket msg;
int count; int count;
......
...@@ -245,7 +245,8 @@ bool UNetReceiver::recv() ...@@ -245,7 +245,8 @@ bool UNetReceiver::recv()
ssize_t sz = pack.msg.header.dcount * sizeof(UniSetUDP::UDPData) + sizeof(UniSetUDP::UDPHeader); ssize_t sz = pack.msg.header.dcount * sizeof(UniSetUDP::UDPData) + sizeof(UniSetUDP::UDPHeader);
if( ret < sz ) if( ret < sz )
{ {
cerr << myname << "(receive): FAILED data ret=" << ret << " sizeof=" << sz << endl; cerr << myname << "(receive): FAILED data ret=" << ret << " sizeof=" << sz
<< " packnum=" << pack.msg.header.num << endl;
return false; return false;
} }
......
...@@ -138,7 +138,7 @@ void UNetSender::real_send() ...@@ -138,7 +138,7 @@ void UNetSender::real_send()
mypack.msg.header = h; mypack.msg.header = h;
// cout << "************* send header: " << mypack.msg.header << endl; // cout << "************* send header: " << mypack.msg.header << endl;
int sz = mypack.size() * sizeof(UniSetUDP::UDPHeader); int sz = mypack.byte_size() + sizeof(UniSetUDP::UDPHeader);
if( udp->isPending(ost::Socket::pendingOutput) ) if( udp->isPending(ost::Socket::pendingOutput) )
{ {
// ssize_t ret = udp->send( (char*)&(mypack.msg),sizeof(mypack.msg)); // ssize_t ret = udp->send( (char*)&(mypack.msg),sizeof(mypack.msg));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment