接收 UDP 消息
Posted
技术标签:
【中文标题】接收 UDP 消息【英文标题】:Receiving UDP messages 【发布时间】:2016-10-05 19:56:54 【问题描述】:我在特定端口上接收消息时遇到问题。发送工作正常。
代码如下:
import Foundation
import CocoaAsyncSocket
class InSocket: NSObject, GCDAsyncUdpSocketDelegate
//let IP = "192.168.1.196"
let PORT:UInt16 = 14000
var isocket:GCDAsyncUdpSocket!
override init()
super.init()
setupConnection()
func setupConnection()
isocket = GCDAsyncUdpSocket(delegate: self, delegateQueue: DispatchQueue.main)
do
try isocket.bind(toPort:PORT)
try isocket.beginReceiving()
catch print("ErrorReceive")
func udpSocket(sock: GCDAsyncUdpSocket!, didReceiveData data: NSData, fromAddress address: NSData!, withFilterContext filterContext: AnyObject!)
let str = NSString(data: data as Data, encoding: String.Encoding.ascii.rawValue)
print(str)
我在网络统计中看到应用程序正在接收数据包: Packets
但我在控制台中看不到任何内容。 一些想法?
【问题讨论】:
我遇到了问题,你解决了吗? 【参考方案1】:在委托函数前添加:func udpSocket(....) 那个属性
@objc(udpSocket:didReceiveData:fromAddress:withFilterContext:)
XCode 8 会发出警告,但不要注意,UDP 数据包会到达。
【讨论】:
以上是关于接收 UDP 消息的主要内容,如果未能解决你的问题,请参考以下文章