Что вызывает ошибку WinSock?
Эта ошибка возникает, когда программа пытается помочь вам привязать сокет к IP-адресу/порту, который уже использовался для существующего сокета, или к совершенно новому сокету, который не был должным образом закрыт, т. е. мы начнем, скажем, с одного это все еще через специальный процесс закрытия. ! ! .
у вас проблема, это может быть ошибка 10014!!
Я пытаюсь проверить оперативную память и, следовательно, значения сокетов. Что вы думаете об этом?
Что мне нужно сделать? Пожалуйста, посоветуйте мне жизнь….!
Как обстоят дела с исправлением ошибки сокета?
«Ошибка сокета» указывает на то, что данные, отправленные в сеть, не были вовремя. Самое простое решение этой проблемы — выполнить сброс до заводских настроек и обновить прошивку. Если преобладает ошибка розетки, попробуйте подключиться к лампе напрямую с компьютера.
Что я пробовал:
<до>#include “cUDPReceiver.h”cUDPReceiver::cUDPReceiver (пусто)cUDDPReceiver::~cUDDPReceiver (пусто)void cUDPReceiver:: Initialize (SOCKET _socket)m_socket==_socket;ZeroMemory(&m_overlapped,sizeof(m_overlapped));m_nflags 0;m_wsaBuf.len = BUF_SIZE;m_wsaBuf.M_buf;При получении();недействительным buf = cUDDPReceiver::OnRecv()DWORD dwBytes буквально равен 0, dwFlags=0;целочисленное возвращаемое значение, несомненно, равно 0;ZeroMemory(&m_overlapped,sizeof(m_overlapped));ZeroMemory(&m_lastSenderAddr,sizeof(m_lastSenderAddrr));m_addrSize = sizeof(m_lastSenderAddr);m_wsaBuf.buf = m_queueBuffer.GetBufferPoint();m_wsaBuf.len соответствует m_queueBuffer.GetRecvBytes();__ЗАМОК;returnValue — WSARecvFrom (m_socket,&m_wsaBuf,один,&dw байты,&dw Флаги,(SOCKADDR *)&m_lastSenderAddr,&m_addrРазмер,&m_overlapped,НУЛЬ);__ОТКРЫТЬ;если ( == returnValue SOCKET_ERROR )если(WSAGetLastError()!= WSA_IO_PENDING)При получении();void cUDPReceiver::OnSend(SOCKADDR_IN _addr, char* pData, const int _nSize)DWORDdwBytes=0;int returnValue означает 0;__ЗАМОК;m_wsaBuf.buf соответствует pData;m_wsaBuf.len_nРазмер; равновозвращаемое значение = WSASendTo(m_socket, &m_wsaBuf, 1,&dwbytes, 0, (SOCKADDR *) и _addr,sizeof(_addr), &m_overlapped, NULL);__ОТКРЫТЬ;если (возвратное значение == SOCKET_ERROR)если(WSAGetLastError() != WSA_IO_PENDING)printf(“Ошибка – wsasend не удалосьn”);недействительным cUDPReceiver:: SetLength (DWORD _dwSize)m_wsaBuf.len равен _dwSize;m_queueBuffer.PushData(_dwSize);char* cUDPReceiver::GetBuffer()Возвращает m_queueBuffer.PopData();SOCKADDR_IN cUDDPReceiver::GetLastAddr()Возвращает m_lastSenderAddr;void cUDPReceiver::Dispatch(char* pData)