C/C++ socket通讯问题?
intres,opt=1;ser_add.sin_family=AF_INET;ser_add.sin_addr.s_addr=htonl(INADDR_ANY);ser...
int res,opt = 1;
ser_add.sin_family = AF_INET;
ser_add.sin_addr.s_addr = htonl(INADDR_ANY);
ser_add.sin_port = htons(i_port);
res = setsockopt(m_listen,SOL_SOCKET,SO_REUSEADDR,(const char*)&opt,sizeof(opt));
请问这里的setsockopt做什么用的,用在服务端还是客户端,还有上面这个setsockopt设置什么选项啊,这个能放在UDP中使用吗? 展开
ser_add.sin_family = AF_INET;
ser_add.sin_addr.s_addr = htonl(INADDR_ANY);
ser_add.sin_port = htons(i_port);
res = setsockopt(m_listen,SOL_SOCKET,SO_REUSEADDR,(const char*)&opt,sizeof(opt));
请问这里的setsockopt做什么用的,用在服务端还是客户端,还有上面这个setsockopt设置什么选项啊,这个能放在UDP中使用吗? 展开
2个回答
展开全部
设置套接口的选项。setsockopt()函数用于任意类型、任意状态套接口的设置选项值。选项影响套接口的操作,诸如加急数据是否在普通数据流中接收,广播数据是否可以从套接口发送等等。
在服务端使用
int PASCAL FAR setsockopt( SOCKET s, int level, int optname, const char FAR* optval, int optlen);
s:标识一个套接口的描述字。
level:选项定义的层次;目前仅支持SOL_SOCKET和IPPROTO_TCP层次。
optname:需设置的选项。
optval:指针,指向存放选项值的缓冲区。
optlen:optval缓冲区的长度。
可放在udp中使用。
在服务端使用
int PASCAL FAR setsockopt( SOCKET s, int level, int optname, const char FAR* optval, int optlen);
s:标识一个套接口的描述字。
level:选项定义的层次;目前仅支持SOL_SOCKET和IPPROTO_TCP层次。
optname:需设置的选项。
optval:指针,指向存放选项值的缓冲区。
optlen:optval缓冲区的长度。
可放在udp中使用。
参考资料: http://baike.baidu.com/view/569217.htm
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
参数SO_REUSEADDR(BOOL):允许套接口和一个已在使用中的地址捆绑(参见bind
())。用于服务器端。
可参考这篇文章:
http://www.cppblog.com/killsound/archive/2009/01/16/72138.html
())。用于服务器端。
可参考这篇文章:
http://www.cppblog.com/killsound/archive/2009/01/16/72138.html
参考资料: http://www.cppblog.com/killsound/archive/2009/01/16/72138.html
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询