[socket] maximale bytes pro packet erhöhen
-
hallo!
ich habe ein einfaches ping-tool, welches über einen socket arbeitet...
nun versuche ich aber, den bekannten PoD nachzubauen. problem ist, dass
bei mehr als einer bestimmten datenmenge im datenteil der ping-packete
eine fehlermeldung kommt und das packet also nicht über den socket gesendet wird.
allerdings kann man afaik die maximale datenmenge im datenteil für jeden socket einstellen... weiss da einer von euch mehr?
-
int nBuf = 64 * 1024 + 1 + 32; int nRes = 0, nBufSize = sizeof ( int); setsockopt ( sockRaw, SOL_SOCKET, SO_RCVBUF, ( const char FAR *)&nBuf, sizeof(int)); getsockopt ( sockRaw, SOL_SOCKET, SO_RCVBUF, ( char FAR *)&nRes, &nBufSize); m_strError.Format ( "setsockopt ( SO_RCVBUF ) = %d", nRes); ReportError (); setsockopt ( sockRaw, SOL_SOCKET, SO_SNDBUF, ( const char FAR *)&nBuf, sizeof(int)); getsockopt ( sockRaw, SOL_SOCKET, SO_SNDBUF, ( char FAR *)&nRes, &nBufSize); m_strError.Format ( "getsockopt ( SO_SNDBUF) = %d", nRes); ReportError ();
so kann ich jetzt wohl mehr bytes pro packet senden und empfangen, aber sobald ich auf genau 64k packetgrösse komme ( 64 * 1024 bytes) bekommen ich bei WSAGetLastError() die fehlernummer 10040