套接字多种可选项

Windows平台

		//---------------------------------------
		WSADATA wsaData;
		int iResult = WSAStartup(MAKEWORD(2, 2), &wsaData);
		if (iResult != NO_ERROR)
			printf("Error at WSAStartup\n");

		//---------------------------------------
		// Create a listening socket
		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);
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值