Почему отображается ошибка сокета 10014?
у меня есть одна проблема, это 10014 erorr!!
я пытаюсь проверить память и значения сокетов, что вы об этом думаете?
что я должен делать ? пожалуйста, помогите мне....!
Что я уже пробовал:
#include "cUDPReceiver.h" cUDPReceiver::cUDPReceiver(void) { } cUDPReceiver::~cUDPReceiver(void) { } void cUDPReceiver::Initializing(SOCKET _socket ) { m_socket = _socket; ZeroMemory(&m_overlapped,sizeof(m_overlapped)); m_nFlags = 0; m_wsaBuf.len = BUF_SIZE; m_wsaBuf.buf = m_buf; OnRecv(); } void cUDPReceiver::OnRecv() { DWORD dwBytes = 0, dwFlags = 0; int returnValue = 0; ZeroMemory(&m_overlapped,sizeof(m_overlapped)); ZeroMemory(&m_lastSenderAddr,sizeof(m_lastSenderAddr)); m_addrSize = sizeof(m_lastSenderAddr); m_wsaBuf.buf = m_queueBuffer.GetBufferPoint(); m_wsaBuf.len = m_queueBuffer.GetRecvBytes(); __LOCK; returnValue = WSARecvFrom(m_socket, &m_wsaBuf, 1, &dwBytes, &dwFlags, (SOCKADDR *)&m_lastSenderAddr, &m_addrSize, &m_overlapped, NULL); __UNLOCK; if ( returnValue == SOCKET_ERROR ) { if( WSAGetLastError() != WSA_IO_PENDING ) { //WSACleanup(); OnRecv(); } } } void cUDPReceiver::OnSend(SOCKADDR_IN _addr, char* pData,const int _nSize) { DWORD dwBytes = 0; int returnValue = 0; __LOCK; m_wsaBuf.buf = pData; m_wsaBuf.len = _nSize; returnValue = WSASendTo(m_socket, &m_wsaBuf, 1, &dwBytes, 0, (SOCKADDR *) & _addr, sizeof(_addr), &m_overlapped, NULL); __UNLOCK; if( returnValue == SOCKET_ERROR) { if(WSAGetLastError() != WSA_IO_PENDING) { printf("Error - fail wsasend \n"); } } } void cUDPReceiver::SetLength(DWORD _dwSize) { m_wsaBuf.len = _dwSize; m_queueBuffer.PushData(_dwSize); } char* cUDPReceiver::GetBuffer() { return m_queueBuffer.PopData(); } SOCKADDR_IN cUDPReceiver::GetLastAddr() { return m_lastSenderAddr; } void cUDPReceiver::Dispatch(char* pData) { }