It would help to see the code. –Seth Noble Feb 22 '12 at 15:55 You were all right, I was sizing my buffer wrong, now it's properly sized to A connect request was made on an already-connected socket. WinSock functions: recv(), recvfrom(), sendto(), FD_CLOSE Additional functions: send() can also fail with WSAECONNABORTED. SOCK_STREAM).
Since the buffering requirements for sending are less than for receiving datagrams, it's conceivable that you can send a datagram larger than you can receive. WinSock description: Either your application hasn't called WSAStartup(), or WSAStartup() failed, or--possibly--you are accessing a socket which the current active task does not own (i.e. User suggestions: Did you enter a destination hostname? Connect with top rated Experts 15 Experts available now in Live!
No comment means you don't care. 0 LVL 5 Overall: Level 5 Programming Languages-Other 1 Message Expert Comment by:dc1972008-12-16 This may also help with some background info: http://www.winsock-error.com/10040.aspx 0 Featured WSAENETUNREACH 10051 Network is unreachable. The application may be accessing a socket that the current active task does not own (that is, trying to share a socket between tasks), or WSACleanup has been called too many On 1941 Dec 7, could Japan have destroyed the Panama Canal instead of Pearl Harbor in a surprise attack?
WinSock description: Similar to Berkeley. WSA_QOS_EFLOWDESC 11026 Invalid QoS flow descriptor. Applications that use WSAGetOverlappedResult (with the fWait flag set to FALSE) in a polling mode to determine when an overlapped operation has completed, get this error code until the operation is Socket Error 10054 Connection Reset By Peer Functionless Errors There are a total of fifty unique WinSock error values.
See also: WSANO_DATA, WSANO_RECOVERY, WSATRY_AGAIN WSANOTINITIALISED (10093) Successful WSAStartup() not yet performed Berkeley description: No equivalent. Winsock Error 10053 Note that the v1.1 WinSock specification does not explicitly state that this error occurs if the value you request is larger than the WSAData.iMaxUdpDg returned from WSAStartup(). I have tried it using fixed size of 8192 packet size on receiver, still it generating the same problem. WSA_QOS_EPROVSPECBUF 11018 Invalid QoS provider buffer.
Every error description contains at least: Summary Info: Error macro: manifest constant, as defined in WINSOCK.H Error value: as defined in v1.1 WINSOCK.H Short description Berkeley description: text describing the equivalent Socket Error Codes Linux WinSock functions: socket() See also: WSAEAFNOSUPPORT, WSAEPFNOSUPPORT WSAEREMOTE (10071) Too many levels of remote in path Berkeley description: Item is not local to the host. WinSock functions: accept(), close socket(), connect(), recv(), recvfrom(), send(), sendto(), WSAAsyncGetHostByAddr(), WSAAsyncGetHostByName(), WSAAsyncGetProtoByName(), WSAAsyncGetProtoByNumber(), WSAAsyncGetServByName(), WSAAsyncGetServByPort() WSAHOST_NOT_FOUND (11001) Host not found Berkeley description: No such host is known. No connection could be made because the target machine actively refused it.
The server application might need to call htons() to translate the port to network byte order in the sockaddr structure. It would also timeout if a (FIN)ish TCP packet is not ACK'd (and even if the FIN is ACK'd, it will eventually timeout if a FIN is not returned). Socket Error 10054 WinSock description: Same as Berkeley. What Is A Socket Error Developer suggestion: are you trying to use an optional feature?
The connection may be timing out due to a slow link. A reserved policy element was found in the QoS provider-specific buffer. Requirements Header Winsock2.h; Winerror.h See also Error Codes - errno, h_errno and WSAGetLastError Handling Winsock Errors FormatMessage WSAGetLastError Developer suggestions: Handle this as a non-fatal error. This is done with the setsockopt function and the SO_RCVBUF option. Socket Error 10049
WSA_QOS_ESDMODEOBJ 11029 Invalid QoS shape discard mode object. However, some WinSocks fail with WSAEINVAL you call connect() a second time (or subsequent) on a non-blocking socket. I get no exceptions off this operation. Each implementation may have a maximum number of socket handles available, either globally, per process or per thread. -------------------------------------------------------------------------------- WSAENOTSOCK Error Number: 10038 Socket operation on non-socket.
Either the socket handle parameter did not reference a valid socket, or for select, a member of an fd_set was not valid. Socket Error 10061 Connection Refused TCP/IP scenario: Calling shutdown() with how=1 or how=2 sends a TCP FIN packet to the remote address, which literally means "I'm done sending." If the local host sent any more data WSAEADDRINUSE 10048 Address already in use.
The address manipulation functions, inet_ntoa() andinet_addr(), can fail. An invalid shaping rate object was found in the QoS provider-specific buffer. Berkeley description: A required address was omitted from an operation on a socket. Winsock Error 10061 Microsoft C description: Invalid argument.
WSA_QOS_NO_SENDERS 11007 No QoS senders. The Windows function is indicating a problem with one or more parameters. When it returns, you figure out from its return value and the descriptor sets which descriptors need attention and do whatever you need to do. It may also make explicit mention of other functions that can fail with this error.
An invalid QoS flow descriptor was found in the flow descriptor list. For example, this error is returned if sendto is called with the remote address of ADDR_ANY. The specified file handle is not a valid file-handle value or does not refer to an open file; or an attempt was made to write to a file or device opened We suggest local configuration changes that might remedy the problem, and network and server conditions that might be the cause.
Also, the first argument should not involve your socket descriptor, it is a count which should be 1 in this case. WinSock description: Same as Berkeley. This error is returned by WSAStartup if the Windows Sockets implementation cannot function at this time because the underlying system it uses to provide network services is currently unavailable. EDIT: Posting some code: This is my socket J_Receive class: #include "J_Receive.h" #include
WSA_QOS_ADMISSION_FAILURE 11010 QoS admission error. Developer suggestions: WSAStartup() failed, and you didn't detect it, or it wasn't called for the current task at all, or you called WSACleanup() too many times. An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full. -------------------------------------------------------------------------------- WSAENOTCONN Error Number: 10057 Socket is not connected. No more results can be returned by the WSALookupServiceNext function.
Moreover, this behaviour is random.