【问题标题】:Receiving UDP messages接收 UDP 消息
【发布时间】: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

但我在控制台中看不到任何内容。 一些想法?

【问题讨论】:

  • 我遇到了问题,你解决了吗?

标签: ios swift udp swift3 gcdasyncudpsocket


【解决方案1】:

在委托函数前添加:func udpSocket(....) 那个属性

@objc(udpSocket:didReceiveData:fromAddress:withFilterContext:)

XCode 8 会发出警告,但不要注意,UDP 数据包会到达。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    • 2019-05-12
    • 2017-10-17
    • 2017-09-04
    • 2012-09-17
    • 2023-04-07
    • 1970-01-01
    相关资源
    最近更新 更多