应用场景:客户端(手机,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广播。
代码下载:
网络端口资料入口:?fr=aladdin点击打开链接
多播和广播资料入口 : 点击打开链接
部分代码参考:#
参考文章: 点击打开链接
代码地址:点击打开链接
版权声明:本文为博主原创文章,未经博主允许不得转载。
天才是百分之一的灵感加上百分之久十久的努力