重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
那就是使用udp协议发送广播获取服务器地址!http都好说,github开源项目不知道有多少。
创新互联自2013年起,先为南乐等服务建站,南乐等地企业,进行企业商务咨询服务。为南乐企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
还有HttpPost、HttpGet方法,可以发送post/get请求,返回流,然后根据流的返回类型进行解析,一般返回为XML或者json,当然也可以用socket通信。
ds.receive(dp);如果我在pc端发送绑定了IP的UDP数据包,android可以收到数据,但是PC端发送255的广播UDP,android就收不到了。查了一些资料,说是要加入权限,加入以下的代码,但实测发现效果一样。
在UDP通信中,android端发送UDP广播包没有问题。至于接收的话,有时候不能接收到包。但是如果UDP包中指定了目标主机的地址的话,那么android端就能正常接收。下面上一段代码,大家可用这段代码进行测试。
首先手机作为终端 可以不必要知道终端的数量、 还有就是我建议你多学习下基础,android的广播机制不是把广播在终端之间传输,广播是在应用程序里面发送,在应用程序进行接收。个人建议基础才是王道。
可以考虑使用ifconfig命令把txqueuelen设置大一些。同一个端口发送的数据量太大时会导致网卡丢包,这个时候可以用netstat查看会发现SndbufErrors不断上升。sendto会返回-这个时候可以考虑增大/proc/sys/net/core/wmem_max的值。
如果需求比较严谨的话 用tcp传输。不过效率就没有udp高。udp本来就是这样设计的,是本身的特性,除非你自己写个udp。
我第一个反应是不是防火墙的问题。登录到主机后,因为是centos7的版本,所以通过防火墙状态查看命令,查看防火墙已经关闭。
在UDP广播的时候,需要到苹果guan 方去申请。
最近在调试linux下的udp广播,发现当addr设置成server.sin_addr.s_addr = INADDR_BROADCAST;时候,调用sendto返回-1,在网上找了好多资料都没结果。
首先手机作为终端 可以不必要知道终端的数量、 还有就是我建议你多学习下基础,android的广播机制不是把广播在终端之间传输,广播是在应用程序里面发送,在应用程序进行接收。个人建议基础才是王道。
如果我在pc端发送绑定了IP的UDP数据包,android可以收到数据,但是PC端发送255的广播UDP,android就收不到了。查了一些资料,说是要加入权限,加入以下的代码,但实测发现效果一样。
在UDP通信中,android端发送UDP广播包没有问题。至于接收的话,有时候不能接收到包。但是如果UDP包中指定了目标主机的地址的话,那么android端就能正常接收。下面上一段代码,大家可用这段代码进行测试。