android 发送UDP广播,搜寻server建立socket链接

时间:2022-04-29 04:35:49

应用场景:client(手机。pc)须要搜寻所在局域网内的server并获得server地址。

方法简单介绍:client发送UDP广播,服务收到广播后得到clientip地址,然后向client发送一次socket链接,client收到socket链接。获得server地址。

相关知识:

     UPD、TCP。

TCP是面向链接的。可靠的通信方式。

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

    网络port一共同拥有65535个,主机之间的通讯须要制定port。

网络port分为三类。公认port,注冊port和动态和/或私有port。

实验方式:

   四个应用程序。当中两个android程序,两个PC程序。让PC和android轮流,或者一起当做client和服务端。

測试结果是:PC端的UDP监听和UDP发起程序能够同一时候执行。可是android手机上,一旦UDP服务在监听port,本机就不能再发送该port的UDP广播。

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

网络port资料入口: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广播,搜寻server建立socket链接的更多相关文章

  1. [Python] socket发送UDP广播实现聊天室功能

    一.说明 本文主要使用socket.socket发送UDP广播来实现聊天室功能. 重点难点:理解UDP通讯流程.多线程.UDP广播收发等. 测试环境:Win10\Python3.5. 程序基本流程:创 ...

  2. NetworkComms V3 之发送UDP广播消息

    NetworkComms网络通信框架序言 NetworkComms通信框架,是一款来自英国的c#语言编写的通信框架,历时6年研发,成熟稳定,性能可靠. NetworkComms v3目前只支持基本的U ...

  3. android 发送自定义广播以及接收自定义广播

    发送自定义广播程序: 布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout x ...

  4. Android 发送自定义广播&lpar;标准和本地&rpar;

    1.首先自定义一个广播接收器:MyBroadcastReceiver package example.com.mybroadcastreceiver; import android.content.B ...

  5. android&colon; 发送自定义广播

    5.3.1    发送标准广播 在发送广播之前,我们还是需要先定义一个广播接收器来准备接收此广播才行,不然发 出去也是白发.因此新建一个 MyBroadcastReceiver 继承自 Broadca ...

  6. android发送udp,tcp消息

    发送方创建步骤: 1.  创建一个DatagramSocket对象 DatagramSocket socket = new  DatagramSocket (4567); 2.  创建一个 InetA ...

  7. java发送udp广播包

    2013-06-07 22:44 1272人阅读 评论(2) 收藏 举报 import java.io.IOException; import java.net.DatagramPacket; imp ...

  8. android 手机UDP 接受不到数据

    一.有的手机不能直接接收UDP包,可能是手机厂商在定制Rom的时候把这个功能给关掉了. 1.可先在oncreate()方法里面实例化一个WifiManager.MulticastLock 对象lock ...

  9. 利用Docker技术实现UDP广播效果(网络编程python版)

    docker的安装见官方文档 我使用的系统为Ubuntu16.04 Ubuntu系统安装docker文档地址:https://docs.docker.com/engine/installation/l ...

随机推荐

  1. R for循环之break,next

    next跳出本次循环 break跳出本层循环(当有多个for 循环时,即跳出最近的一个for循环)

  2. ural 1431&period; Diplomas

    1431. Diplomas Time limit: 1.0 secondMemory limit: 64 MB It might be interesting for you to learn th ...

  3. js获取url参数值的两种方式

    js获取url参数值的方法有很多,下面也为大家介绍两种.  方法一:正则分析法  function getQueryString(name) {  var reg = new RegExp(&quot ...

  4. poj3159 Candies&lpar;差分约束&rpar;

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud Candies Time Limit: 1500MS   Memory Limit ...

  5. TCP协议详解(一)

    Tcp协议作为传输层的重要协议之一,想必每个稍有网络编程知识的人都不会感觉到陌生,三次握手/四次挥手这些基本概念也都是耳熟能详.但是当你们进行具体的网络编程的时候发现有很多事情并没有想象中的那么简单, ...

  6. python select模块详解

    要理解select.select模块其实主要就是要理解它的参数, 以及其三个返回值.select()方法接收并监控3个通信列表, 第一个是所有的输入的data,就是指外部发过来的数据,第2个是监控和接 ...

  7. javap反编译命令详解&amp&semi;Eclipse中配置javap命令

    javap命令所有参数如下图所示: javap 命令用于解析类文件.其输出取决于所用的选项.若没有使用选项,javap 将输出传递给它的类的 public 域及方法.javap 将其输出到标准输出设备 ...

  8. XE7&sol;X10&period;2 Datasnap使用 dbExpress 连接MySQL数据库

    本人使用:DELPHI X10.2.2 版本连接 MYSQL 5.1 (安装 mysql-5.1.72-win32.msi)的32位版本,开始连接不了: 将 MYSQL 5.1 安装目录下bin 中的 ...

  9. pc端复制方法

    dom结构如下: <div id="btn">复制</div> <input id="content" type="te ...

  10. asp&period;net请求管道和页面生命周期