我想基于ELM327芯片的OBD设备建立TCP连接。因此,我决定使用GCDAsyncSocket库。以下是我编写的代码:
import UIKit
import CocoaAsyncSocket
class ViewController: UIViewController, GCDAsyncSocketDelegate {
let addr = "192.168.0.10"
let port:UInt16 = 35000
var socket:GCDAsyncSocket!
override func viewDidLoad() {
super.viewDidLoad()
socket = GCDAsyncSocket(delegate: self, delegateQueue: dispatch_get_main_queue())
do {
try socket.connectToHost(addr, onPort: port)
} catch let e {
print(e)
}
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func connect(sender: AnyObject) {
print("Clicked")
}
func socket(socket : GCDAsyncSocket, didConnectToHost host:String, port p:UInt16)
{
print("Connected to \(addr) on port \(port).")
}
}
但是当我运行代码时,这个函数:
func socket(socket : GCDAsyncSocket, didConnectToHost host:String, port p:UInt16)
永远不会被运行。
问题出在哪里?
有人能否给我建议如何传输和接收字面量的字节数组。
谢谢。