android 发送UDP广播,搜寻服务器建立socket链接

应用场景:客户端(手机,pc)需要搜寻所在局域网内的服务器并获得服务器地址。

方法简介:客户端发送UDP广播,服务收到广播后得到客户端ip地址,然后向客户端发送一次socket链接,客户端收到socket链接,获得服务器地址。

相关知识:

UPD、TCP。TCP是面向链接的,可靠的通信方式。UDP是面向非链接的通讯方式。TCP的建立比较麻烦,要经过“三次握手”。而UDP的建立比较简单,发送方只管把内容发送出去,不管接收方是否收到。UDP的传输分为:单播,多播,广播。其中,多播和广播是通过TCP/IP协议里面特定的IP地址实现的,例如受限广播的地址为:255.255.255.255 。

网络端口一共有65535个,主机之间的通讯需要制定端口。网络端口分为三类,公认端口,注册端口和动态和/或私有端口。

实验方式:

四个应用程序,其中两个android程序,两个PC程序。让PC和android轮流,或者一起当做客户端和服务端。测试结果是:PC端的UDP监听和UDP发起程序可以同时运行。但是android手机上,一旦UDP服务在监听端口,本机就不能再发送该端口的UDP广播。

代码下载:http://download.csdn.net/detail/qiushibaiyi/7531837

网络端口资料入口:http://baike.baidu.com/view/43200.htm?fr=aladdin 点击打开链接

多播和广播资料入口 : http://www.cnblogs.com/hnrainll/archive/2011/09/01/2162110.html 点击打开链接

部分代码参考:http://download.csdn.net/download/xiaoxiaobian3310903/4502201# 点击打开链接

参考文章: http://blog.sina.com.cn/s/blog_6c0a8fbb0100s3k5.html 点击打开链接

代码地址:http://download.csdn.net/detail/qiushibaiyi/7531837点击打开链接

android 发送UDP广播,搜寻服务器建立socket链接,布布扣,bubuko.com

时间: 2024-12-26 08:23:17

android 发送UDP广播,搜寻服务器建立socket链接的相关文章

NetworkComms V3 之发送UDP广播消息

NetworkComms通信框架,是一款来自英国的c#语言编写的通信框架,历时6年研发,成熟稳定,性能可靠. NetworkComms v3目前只支持基本的UDP通信 UDP通信一个很强大的功能,就是UDP广播.允许网络上发送的一个数据包,可以被多个适配器接收.下面的场景中可以考虑使用UDP通信 1:检查哪些网络端点在线 2: 通知网络端点有一个新的服务 3: 传递信息到一组端点上 使用networkComm V3 发送UDP数据包 UDPConnection.SendObject("ChatM

Android 发送本地广播 以及创建广播接收器

1.创建本地广播接收器 18 public class MainActivity extends AppCompatActivity{ 19 private Button mBtn;21 private BindService.MyBinder mMyBinder; 22 private MyReceiver mMyReceiver; //创建广播接收器类变量 23 private LocalBroadcastManager mLocalBroadcastManager; //创建本地广播管理器

广播搜寻服务器的动态IP

我服务器放在景区镇上租的住处里,附近经常因为施工或是乱开挖之类的导致断电.我用的电信宽带.每次断电之后服务器自动重启就得重新分配一个ip.因为用了域名服务,重启后能根据域名查询到新的IP. 但是,我还是尝到了几次找不到服务器IP的苦头.有次在实验室通宵,准备连接上屋里的服务器做测试,因为以前觉得域名很方便就没有做记录IP的工作.结果就发现连不上了,打电话问住同一小区的朋友是不是停电了,结果根本就没有停电.登陆到我所使用的域名服务器的官网,才发现域名服务器瘫痪了,要维修两天.我特地买了大堆吃的到实

Android发送数据到web服务器4种方式

/** * Android中向web服务器提交数据的两种方式四种方法 */ public class SubmitDataByHttpClientAndOrdinaryWay { /** * 使用get请求以普通方式提交数据 * @param map 传递进来的数据,以map的形式进行了封装 * @param path 要求服务器servlet的地址 * @return 返回的boolean类型的参数 * @throws Exception */ public Boolean submitDat

java发送udp广播包

2013-06-07 22:44 1272人阅读 评论(2) 收藏 举报 [java] view plaincopy import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException; import java.net.UnknownHostException;

ios开发之发送UDP广播并接收数据

用了asyncUdpSocket, 服务端在接收到广播后,就会做出回应,然后就可以开始通讯了. - (void)init{ AsyncUdpSocket *socket=[[AsyncUdpSocketalloc]initWithDelegate:self]; [socketlocalPort:16747]; NSTimeInterval timeout=5000; NSString *[email protected]"quick_stat"; NSData *data=[NSDat

给Hi3518e的Uboot添加UDP广播收发功能

基于个人兴趣,决定实现一个和方案公司提供的uboot收发广播的功能.记录笔记如下. SDK版本:Hi3518E_V100R001C01SPC081 1. 由于我手头的板子的Phy是RMII模式,因此先按这篇帖子进行将uboot默认的网络驱动改为RMII模式. http://blog.csdn.net/skdkjzz/article/details/39931915 2. 然后设置好Phy的CONFIG_PHY_ADDR_U和CONFIG_PHY_ADDR_D,这个我不太懂是为什么,估计和硬件有关

Android 通过局域网udp广播自动建立socket连接

Android开发中经常会用到socket通讯.由于项目需要,最近研究了一下这方面的知识. 需求是想通过wifi实现android移动设备和android平台的电视之间的文件传输与控制. 毫无疑问这中间一定需要用到socket来进行通信.今天就两台设备的握手连接方式分享一下吧,该方法只是本人个人想法的实现,仅供参考,如有雷同,不胜荣幸. 要想使用socket进行通讯,就必须知道服务端的IP地址,我使用的是通过udp局网广播来实现局网内服务端的搜寻建立连接.以下是代码实现. 首先是客户端: pub

基于Android硬件设备跟微信服务器通信的项目心得,以UDP Byte通信为例,建立无向连接,0530手札

这段时间挺忙的,微信企业号等微信系列的教程全部停滞了,原因是我手头上抓着几个项目,加班就不说了,今天刚刚把新接手的项目整到大概%80的样 子吧,准备明天整整,星期一过来直接对接测试,很多朋友跑过来问问题,我是真没时间,请见谅! 今天就分享下这个项目的总结,源码就不粘贴了,因为是商业项目,只是传达下编码思想,希望其他朋友在遇到类似项目的时候有个参考,不至于找不到 一点点思路 使用UDP进行通讯,每条指令不超过1024字节,所有多字节整形数据采用网络字节顺序传输.终端每上报一条指令,平台都将回复一条