Swift开发:GCDAsyncUdpSocket 通信之UDP广播

Swift开发:GCDAsyncUdpSocket 通信之UDP广播,第1张

概述       功能需求:                  发送广播,搜索设备 【在wifi下无法接收广播,原因: 路由器阻止广播】 1 使用GCDAsyncUdpSocket 实现广播    下载地址:包含tcp和udp,共4个文件 http://download.csdn.net/detail/taoerit/9809540 2 Swift Code: // //  ViewControlle

功能需求:

发送广播,搜索设备

【在wifi下无法接收广播,原因: 路由器阻止广播】

1 使用GcdasyncUdpSocket 实现广播 下载地址:包含tcp和udp,共4个文件http://download.csdn.net/detail/taoerit/9809540 2 Swift Code:

//

// VIEwController.swift

// 3-SwiftSocket-udp

// Created by 黄涛 on 17/4/10.

// copyright © 2017 huangtao. All rights reserved.

//


import UIKit


class VIEwController:UIVIEwController,GcdasyncUdpSocketDelegate {


@IBOutletweakvar btnStart:UIbutton!

@IBOutletweakvar lbRecvMsg:UITextVIEw!

var mainQueue =dispatch_get_main_queue()


var udp:GcdasyncUdpSocket!;

let localPort:UInt16 =54321;

let boardcasePort:UInt16 =1001;

overrIDefunc vIEwDIDLoad() {

super.vIEwDIDLoad()

btnStart.addTarget(self,action:"btnStartClickFun",forControlEvents:UIControlEvents.touchUpInsIDe)

udp =GcdasyncUdpSocket(delegate:self,delegateQueue:dispatch_get_main_queue());

do

{

tryudp.enablebroadcast(true)

tryudp.bindtoport(localPort,interface:udpError);

tryudp.beginReceiving();

}

catch{

print("catch:\(udpError)")

}

}

var udpError:String?;

func btnStartClickFun(){

//开始广播

udp.sendData("#SYstem\n".dataUsingEnCoding(NSUTF8StringEnCoding),toHost: "255.255.255.255",port:boardcasePort,withTimeout: -1,tag:0);

}

func udpSocket(sock:GcdasyncUdpSocket!,dIDReceiveData data:NSData!,fromAddress address:NSData!,withFilterContext filterContext:AnyObject!) {

let recv:Nsstring =Nsstring(data: data,enCoding:NSUTF8StringEnCoding)!;

// 2 主界面ui显示数据

dispatch_async(mainQueue,{

let showStr:NSMutableString =NSMutableString()

showStr.appendString(recvasString)

showStr.appendString("\n")

self.lbRecvMsg.text = showStrasString;

})

}

func udpSocket(sock:GcdasyncUdpSocket!,dIDNotConnect error:NSError!) {

print("连接失败:\(error)")

}


func udpSocket(sock:GcdasyncUdpSocket!,dIDSendDataWithTag tag:Int) {

print("已经发送数据:\(tag)")

}

func udpSocketDIDClose(sock:GcdasyncUdpSocket!,withError error:NSError!) {

print("断开连接 error:\(error)")

}

func udpSocket(sock:GcdasyncUdpSocket!,dIDConnectToAddress address:NSData!) {

print("开始连接")

}

overrIDefunc dIDReceiveMemoryWarning() {

super.dIDReceiveMemoryWarning()

// dispose of any resources that can be recreated.

}

}

3 效果图 总结

以上是内存溢出为你收集整理的Swift开发:GCDAsyncUdpSocket 通信之UDP广播全部内容,希望文章能够帮你解决Swift开发:GCDAsyncUdpSocket 通信之UDP广播所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1064316.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存