求助: 关于setsockopt和getsockopt问题!!!

COM_MOC 2002-11-04 04:08:27
套接口选项的设置应该在什么地方进行?有必要在客户和服务器两端都进行设置吗?
我现在的理解是在第一次与服务器进行握手时,
由客户端进行设置,然后将设置信息与SYN信息一起发送到服务器,请问是这样吗?
服务器程序也应该进行相应的设置,在accept()后面吗?
...全文
36 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jfguo 2002-11-05
  • 打赏
  • 举报
回复
两边都要设
lcahuang 2002-11-04
  • 打赏
  • 举报
回复
就我的理解要分情况处理。
如在客户端需要解除一个地址只能绑定一个SOCKET的限制时,需要在bind()之前进行设置如下:
BOOL bOption = TRUE;
setsockopt(ConnSocket1, SOL_SOCKET, SO_REUSEADDR,(char*)&bOption, sizeof(bOption));
如果要进行多播则需要在服务器和客户端同时设置属性。
客户端:
imr4.imr_multiaddr.s_addr = inet_addr("234.244.233.222");
imr4.imr_interface.s_addr = htons(INADDR_ANY);
setsockopt(ConnSocket2, IPPROTO_IP, IP_ADD_MEMBERSHIP,(char *)&imr4,
sizeof(imr4);
服务器端:
unsigned long ulOption = 1;
int bOption = 1;
setsockopt(socket, IPPROTO_IP, IP_MULTICAST_IF, (char*)&ulOption,
sizeof(ulOption);

setsockopt(g_lpInfo->hMulticastSocket, IPPROTO_IP, IP_MULTICAST_TTL, (char*)&bOption, sizeof(bOption));
COM_MOC 2002-11-04
  • 打赏
  • 举报
回复
怎么没有人回答呀!

God, help me!

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧