csocket udp bind

场景:CSocket 基于udp,CSocket create后要bind吗?解决办法

CSocket 基于udp,CSocket create后要bind吗?
CSocket 基于udp,CSocket create后要bind吗?

------解决方案--------------------
需要绑定啊,不需要listen~
------解决方案--------------------
CSocket.create()参数里指定
------解决方案--------------------
需要不需要,看你是有邦定IP和端口的需求,一般不需要。这个和TCP一样,只是TCP的SERVER一般肯定要邦定IP和端口,否则CLIENT怎么知道往哪里连接。
------解决方案--------------------
不是需要不需要的问题,而是根本不应该bind,在其他帖子中讨论过,Bind只用于CAsyncSocket::Socket函数创建的socket,而这个函数属于undocumented的函数,因此Bind根本不应该documented!
如果你Bind,socket反而会不工作的,因为你重复bind了

------解决方案--------------------
探讨
不是需要不需要的问题,而是根本不应该bind,在其他帖子中讨论过,Bind只用于CAsyncSocket::Socket函数创建的socket,而这个函数属于undocumented的函数,因此Bind根本不应该documented!
如果你Bind,socket反而会不工作的,因为你重复bind了

------解决方案--------------------
不提供端口,端口就是0,系统随机指定端口!
探讨

引用:

UP,在CSocket::Create内的确有可能执行了Bind,但不清楚在Create没有指定端口和地址的情况下是否还会Bind。觉得如果Create时不指定的话应该可以单独调用Bind。很久以前用过CAsyncSocket,刚查了MSDN,也没有对Bind有什么特殊说明,这个可以试一下,MFC对这个的封装个人并不觉得好,所以一直没有用。

Create calls Socket and if successful, it calls Bind to bind the socket to the specified address...Create then calls Bind to bind the socket to the specified address

------解决方案--------------------
从UDP实现机制来说,作为服务端是需要绑定的,不然客户端发送时不知道服务端端口号。建议lz不用CSocket而改用API,因为很多地方是需要定制的,而类似这样的MFC类封装的太多。
------解决方案--------------------
create包含bind功能,只要端口设置下就绑定了,