Loading src/windows/tcp.cpp +19 −21 Original line number Diff line number Diff line Loading @@ -179,18 +179,16 @@ size_t netplus::tcp::sendData(void* data, unsigned long size,int flags){ buf.buf = (char*)data; buf.len = size; DWORD dwBytes = 0; DWORD dwFlags = 0; SOCKET rval=::WSASend(_Socket,&buf,1,&dwBytes,flags,&_Overlapped,nullptr); SEND: SOCKET rval=::WSASend(_Socket,&buf,1,nullptr,flags,&_Overlapped,nullptr); if(rval == SOCKET_ERROR){ int etype=NetException::Error; if(GetLastError() == WSA_IO_PENDING) etype=NetException::Note; exception[etype] << "Socket senddata failed on Socket: " << (int) _Socket << " ErrorMsg: " << GetLastError(); DWORD lerror=GetLastError(); if (lerror == WSA_IO_PENDING) goto SEND; exception[NetException::Error] << "Socket senddata failed on Socket: " << (int) _Socket << " ErrorMsg: " << lerror; throw exception; } return (size_t)rval; Loading @@ -207,26 +205,26 @@ size_t netplus::tcp::recvData(void* data, unsigned long size,int flags){ if (flags < 0) flags = WSA_FLAG_OVERLAPPED; WSABUF buf; WSABUF buf{0}; buf.buf = (char*)data; buf.len = size; DWORD dwBytes = 0; DWORD dwFlags = 0; int recvsize=::WSARecv(_Socket, &buf, 1, &dwBytes,(LPDWORD) &flags, &_Overlapped, nullptr); RECV: int recvsize=::WSARecv(_Socket, &buf, 1,nullptr,(LPDWORD) &flags, &_Overlapped, nullptr); if(recvsize<0){ int etype=NetException::Error; if(recvsize==SOCKET_ERROR){ DWORD lerror = GetLastError(); if (lerror == WSA_IO_PENDING) goto RECV; if(GetLastError() == WSA_IO_PENDING) etype=NetException::Note; exception[etype] << "Socket recvdata failed on Socket: " << (int)_Socket << " ErrorMsg: " << GetLastError(); exception[NetException::Error] << "Socket recvdata failed on Socket: " << (int)_Socket << " ErrorMsg: " << lerror; throw exception; } return (size_t)recvsize; } Loading Loading
src/windows/tcp.cpp +19 −21 Original line number Diff line number Diff line Loading @@ -179,18 +179,16 @@ size_t netplus::tcp::sendData(void* data, unsigned long size,int flags){ buf.buf = (char*)data; buf.len = size; DWORD dwBytes = 0; DWORD dwFlags = 0; SOCKET rval=::WSASend(_Socket,&buf,1,&dwBytes,flags,&_Overlapped,nullptr); SEND: SOCKET rval=::WSASend(_Socket,&buf,1,nullptr,flags,&_Overlapped,nullptr); if(rval == SOCKET_ERROR){ int etype=NetException::Error; if(GetLastError() == WSA_IO_PENDING) etype=NetException::Note; exception[etype] << "Socket senddata failed on Socket: " << (int) _Socket << " ErrorMsg: " << GetLastError(); DWORD lerror=GetLastError(); if (lerror == WSA_IO_PENDING) goto SEND; exception[NetException::Error] << "Socket senddata failed on Socket: " << (int) _Socket << " ErrorMsg: " << lerror; throw exception; } return (size_t)rval; Loading @@ -207,26 +205,26 @@ size_t netplus::tcp::recvData(void* data, unsigned long size,int flags){ if (flags < 0) flags = WSA_FLAG_OVERLAPPED; WSABUF buf; WSABUF buf{0}; buf.buf = (char*)data; buf.len = size; DWORD dwBytes = 0; DWORD dwFlags = 0; int recvsize=::WSARecv(_Socket, &buf, 1, &dwBytes,(LPDWORD) &flags, &_Overlapped, nullptr); RECV: int recvsize=::WSARecv(_Socket, &buf, 1,nullptr,(LPDWORD) &flags, &_Overlapped, nullptr); if(recvsize<0){ int etype=NetException::Error; if(recvsize==SOCKET_ERROR){ DWORD lerror = GetLastError(); if (lerror == WSA_IO_PENDING) goto RECV; if(GetLastError() == WSA_IO_PENDING) etype=NetException::Note; exception[etype] << "Socket recvdata failed on Socket: " << (int)_Socket << " ErrorMsg: " << GetLastError(); exception[NetException::Error] << "Socket recvdata failed on Socket: " << (int)_Socket << " ErrorMsg: " << lerror; throw exception; } return (size_t)recvsize; } Loading