udp通信时服务器所在的PC机上设置了5个ip,udp服务器想绑定本机是否需要将5个IP地址一一绑定?

scoredhigh 2014-02-09 02:15:28
udp通信时服务器所在的PC机上设置了5个ip,udp服务器想绑定本机是否需要将5个IP地址一一绑定?
...全文
312 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 2 楼 scoredhigh 的回复:
如果只绑定其中某个IP,udp客户端向服务器发送数据时,如果设置的目的ip与服务器的绑定ip不一致,就不能通讯了
是这样的。 编写tcp程序需要学点基础。例如了解地址 0.0.0.0 等等的都分别代表什么意思。有了基础,你在提问时就比较具体和稍微深入一点,从而不至于招惹来大量错误的答案。
  • 打赏
  • 举报
回复
引用 楼主 scoredhigh 的回复:
udp通信时服务器所在的PC机上设置了5个ip,udp服务器想绑定本机是否需要将5个IP地址一一绑定?
服务器绑定 IP 使用 IPAddress.Any。如果你看到什么具体 IP 的帖子,嘲笑一下是可以的。
scoredhigh 2014-02-09
  • 打赏
  • 举报
回复
引用 6 楼 wyd1520 的回复:
[quote=引用 5 楼 scoredhigh 的回复:] [quote=引用 4 楼 wyd1520 的回复:] 你是说客户端的访问服务端IP的固定是吧,那就用域名,而不是用IP, 好比你的IP 今天是这个样,后面服务器搬家了。IP变了。那之前的固化在客端端的IP没法改变那就访问不了了, 用域名写入到客户端软件固化进去,就算IP变了也没事,你重新设一下域名与IP的关系就是了,这样程序都不用改
你说的是啊,这方面我的知识了解得少。 我这个程序主要是用于一个设备和PC端通讯的,主要是点对点的局域网通讯,设备作为客户端,PC作为服务器端。 我之所以问这个问题是因为设备可以设置PC的IP地址和端口,但是如果PC有n个IP地址,设备上设置的PC端IP地址不是udp服务器绑定的IP,就不能通讯了[/quote] ..不是这样子的,PC不管你有多少个IP,PC只要管监听UDP的某个端口就行了,下面的代码只要你从m_Port就可以不管你从哪个IP发过来的都能取到。所以服务端不要绑定IP.至于设备他要走哪个IP随便,只要端口与服务端对应就是了

 IPEndPoint ipep = new IPEndPoint(IPAddress.Any, m_Port);
  Socket s = new Socket(ipep.AddressFamily, SocketType.Dgram, ProtocolType.Udp);
  s.ExclusiveAddressUse = false;
  s.Bind(ipep);
[/quote]多谢啊,可以了,我用的是UdpClient类通信,好像只需要IPEndPoint ipep = new IPEndPoint(IPAddress.Any, m_Port);这句代码就可以了,谢谢。
本拉灯 2014-02-09
  • 打赏
  • 举报
回复
引用 5 楼 scoredhigh 的回复:
[quote=引用 4 楼 wyd1520 的回复:] 你是说客户端的访问服务端IP的固定是吧,那就用域名,而不是用IP, 好比你的IP 今天是这个样,后面服务器搬家了。IP变了。那之前的固化在客端端的IP没法改变那就访问不了了, 用域名写入到客户端软件固化进去,就算IP变了也没事,你重新设一下域名与IP的关系就是了,这样程序都不用改
你说的是啊,这方面我的知识了解得少。 我这个程序主要是用于一个设备和PC端通讯的,主要是点对点的局域网通讯,设备作为客户端,PC作为服务器端。 我之所以问这个问题是因为设备可以设置PC的IP地址和端口,但是如果PC有n个IP地址,设备上设置的PC端IP地址不是udp服务器绑定的IP,就不能通讯了[/quote] ..不是这样子的,PC不管你有多少个IP,PC只要管监听UDP的某个端口就行了,下面的代码只要你从m_Port就可以不管你从哪个IP发过来的都能取到。所以服务端不要绑定IP.至于设备他要走哪个IP随便,只要端口与服务端对应就是了

 IPEndPoint ipep = new IPEndPoint(IPAddress.Any, m_Port);
  Socket s = new Socket(ipep.AddressFamily, SocketType.Dgram, ProtocolType.Udp);
  s.ExclusiveAddressUse = false;
  s.Bind(ipep);
scoredhigh 2014-02-09
  • 打赏
  • 举报
回复
引用 4 楼 wyd1520 的回复:
你是说客户端的访问服务端IP的固定是吧,那就用域名,而不是用IP, 好比你的IP 今天是这个样,后面服务器搬家了。IP变了。那之前的固化在客端端的IP没法改变那就访问不了了, 用域名写入到客户端软件固化进去,就算IP变了也没事,你重新设一下域名与IP的关系就是了,这样程序都不用改
你说的是啊,这方面我的知识了解得少。 我这个程序主要是用于一个设备和PC端通讯的,主要是点对点的局域网通讯,设备作为客户端,PC作为服务器端。 我之所以问这个问题是因为设备可以设置PC的IP地址和端口,但是如果PC有n个IP地址,设备上设置的PC端IP地址不是udp服务器绑定的IP,就不能通讯了
本拉灯 2014-02-09
  • 打赏
  • 举报
回复
你是说客户端的访问服务端IP的固定是吧,那就用域名,而不是用IP, 好比你的IP 今天是这个样,后面服务器搬家了。IP变了。那之前的固化在客端端的IP没法改变那就访问不了了, 用域名写入到客户端软件固化进去,就算IP变了也没事,你重新设一下域名与IP的关系就是了,这样程序都不用改
scoredhigh 2014-02-09
  • 打赏
  • 举报
回复
引用 1 楼 wyd1520 的回复:
。。。。绑定。。要是换IP怎么办?所以还是别绑定了,一般绑定的是帐号,而不是IP
哦,这是问题啊,所以想知道是否有种方法直接绑定本机? 绑定帐号是怎么弄的?求赐教啊,没明白。
scoredhigh 2014-02-09
  • 打赏
  • 举报
回复
如果只绑定其中某个IP,udp客户端向服务器发送数据时,如果设置的目的ip与服务器的绑定ip不一致,就不能通讯了
本拉灯 2014-02-09
  • 打赏
  • 举报
回复
。。。。绑定。。要是换IP怎么办?所以还是别绑定了,一般绑定的是帐号,而不是IP

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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