Windows平台
WSADATA wsaData;
int iResult = WSAStartup(MAKEWORD(2, 2), &wsaData);
if (iResult != NO_ERROR)
printf("Error at WSAStartup\n");
SOCKET ListenSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (ListenSocket == INVALID_SOCKET) {
printf("Error at socket()\n");
WSACleanup();
}
int optVal = 0;
int optLen = sizeof(int);
if (getsockopt(ListenSocket,
SOL_SOCKET,
SO_SNDBUF,
(char*)&optVal,
&optLen) != SOCKET_ERROR)
printf("SockOpt Value: %ld\n", optVal);
optVal = 1024;
if (setsockopt(ListenSocket,
SOL_SOCKET,
SO_SNDBUF,
(char*)&optVal,
optLen) == SOCKET_ERROR)
printf("SockOpt Error: %ld\n", WSAGetLastError());
if (getsockopt(ListenSocket,
SOL_SOCKET,
SO_SNDBUF,
(char*)&optVal,
&optLen) != SOCKET_ERROR)
printf("SockOpt Value: %ld\n", optVal);
WSACleanup();
linux平台
int ListenSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (ListenSocket == -1) {
printf("Error at socket()\n");
}
int optVal = 0;
socklen_t optLen = sizeof(int);
if (getsockopt(ListenSocket,
SOL_SOCKET,
SO_SNDBUF,
(void*)&optVal,
&optLen) != -1)
printf("SockOpt Value: %ld\n", optVal);
optVal = 1024*4;
optLen = sizeof(int);
if (setsockopt(ListenSocket,
SOL_SOCKET,
SO_SNDBUF,
(void*)&optVal,
optLen) == -1)
printf("SockOpt Error\n");
if (getsockopt(ListenSocket,
SOL_SOCKET,
SO_SNDBUF,
(void*)&optVal,
&optLen) != -1)
printf("SockOpt Value: %ld\n", optVal);