[英]Swift 5: Socket IO integration and send data
I am very new to Socket IO.我对 Socket IO 很陌生。 My requirement is to connect to a socket with URL and join a specific room with some unique identifier string value like "join_id".我的要求是使用 URL 连接到一个套接字,并使用一些唯一标识符字符串值(如“join_id”)加入特定房间。 Once I successfully joined that room once successfully joined in that room I need to send some JSON to that room and wait for an acknowledgement.一旦我成功加入那个房间,一旦成功加入那个房间,我需要向那个房间发送一些 JSON 并等待确认。
var manager = SocketManager(socketURL: URL(string: myURL),: config. [,log(true). .compress ]) var manager = SocketManager(socketURL: URL(string: myURL),: config. [,log(true). .compress ])
let socket = manager.defaultSocket
socket.on(clientEvent: .connect){(data,ack) in
print("connected")
socket.emit("test", "Hi Server!")
}
And listener is,听者是,
socket.on("testresult") { [weak self] (data,ack) in
print(data)
print(data.description)
}
socket.connect()
As per the server team, I need to join a room by passing a string value (join_id).根据服务器团队的说法,我需要通过传递一个字符串值(join_id)来加入一个房间。 And once I got successful acknowledgement I need to send JSON and wait for the acknowledgement for confirmation on data receiving.一旦我得到成功的确认,我需要发送 JSON 并等待确认数据接收确认。
Join Room specific press on emit data加入 Room 特定新闻发布数据
self.socketIOClient.emit("join_id", with: "154") /*Like Random id generate*/
let jsonDic = ["room":driver_id,"userId":"\(userID)",
"quoteId":quote_id,"isRequest":"1"] /* Json Data send to server */
self.socketIOClient.emit("sendRequestToDriver",jsonDic)
Get json Respone获取 json 响应
let manager:SocketManager!
let socketIOClient: SocketIOClient!
manager = SocketManager(socketURL: URL(string: ServerAPI.SocketURL)!,
config: [.log(true), .compress])
socketIOClient = manager.defaultSocket
self.socketIOClient?.on("orderRequestUpdateByDriver") { ( dataArray, ack) -> Void in
let dict = dataArray[0] as? NSDictionary ?? [:]
Print(dict)
}
socketIOClient.on(clientEvent: .error) { (data, eck) in
print(data)
print("socket error")
}
socketIOClient.on(clientEvent: .disconnect) { (data, eck) in
print(data)
print("socket disconnect")
}
socketIOClient.on(clientEvent: SocketClientEvent.reconnect) { (data, eck) in
print(data)
print("socket reconnect")
}
socketIOClient.connect()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.