В настоящее время я работаю над программой, в которой я подключаю два устройства IOS с использованием класса NSNetService. Я могу подключить оба устройства, но я не знаю, как отправлять данные с помощью функции getInoutStream. Может ли кто-нибудь приятель мне помочь.В быстром классе NSNetService, как отправлять данные с помощью getInoutStream
-1
A
ответ
1
Почему бы не использовать multipeer? Это гораздо более простое решение того, что вы пытаетесь сделать. Также NSNetService имеет несколько известных ошибок. Однако вы отправляете данные между ними, установив соединение Bonjour на NSNetService. Метод getInputStream требует аргументов типа UnsafeMutablePointer:
public func getInputStream(inputStream: UnsafeMutablePointer<NSInputStream?>, outputStream: UnsafeMutablePointer<NSOutputStream?>) -> Bool
var inputStream : NSInputStream?
var outputStream : NSOutputStream?
let success = service.getInputStream(&inputStream, outputStream: &outputStream)
Тогда просто записывать данные, используя поток памяти и он будет получать передаваемый в порт слушателя.
Это готовый код:
Эта функция инициирует соединение на 127.0.0.1
func initNetworkCommunication(){
var host : CFString = "127.0.0.1"
var port : UInt32 = 7001
var readstream : Unmanaged<CFReadStream>?
var writestream : Unmanaged<CFWriteStream>?
CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault, host, port, &readstream, &writestream)
inputstream = readstream!.takeRetainedValue()
outputstream = writestream!.takeRetainedValue()
inputstream.delegate = self
outputstream.delegate = self
inputstream.scheduleInRunLoop(NSRunLoop.currentRunLoop(), forMode: NSDefaultRunLoopMode)
outputstream.scheduleInRunLoop(NSRunLoop.currentRunLoop(), forMode: NSDefaultRunLoopMode)
inputstream.open()
И это для потока ввода-вывода:
func stream(aStream: NSStream, handleEvent eventCode: NSStreamEvent) { //This is the stream IO function. It allows RW of the stream
switch (eventCode){
case NSStreamEvent.ErrorOccurred:
NSLog("ErrorOccurred")
break
case NSStreamEvent.EndEncountered:
NSLog("EndEncountered")
break
case NSStreamEvent.None:
NSLog("None")
break
case NSStreamEvent.HasBytesAvailable:
NSLog("HasBytesAvaible")
var buffer = [UInt8](count: 4096, repeatedValue: 0)
if (aStream == inputstream){
while (inputstream.hasBytesAvailable){
var len = inputstream.read(&buffer, maxLength: buffer.count)
if(len > 0){
var output = NSString(bytes: &buffer, length: buffer.count, encoding: NSUTF8StringEncoding)
if (output != ""){
NSLog("server said: %@", output!)
}
}
}
}
break
case NSStreamEvent.allZeros:
NSLog("allZeros")
break
case NSStreamEvent.OpenCompleted:
NSLog("OpenCompleted")
break
case NSStreamEvent.HasSpaceAvailable:
NSLog("HasSpaceAvailable")
break
default:
// default code here
break
}
Смежные вопросы
- 1. как отправлять динамические данные с помощью Ajax
- 2. Как отправлять данные с помощью выражения?
- 3. Как вы повторяете анимацию в быстром классе
- 4. Как установить NSDictionary в классе SingleTon в быстром языке
- 5. NSNetService делегаты не называют
- 6. Отправлять данные из намерения с помощью i.putExtra
- 7. iOS отправлять данные с помощью подключения сокетов
- 8. в YII2 как отправлять данные с помощью модального диалога?
- 9. Как получать/отправлять данные с помощью URL-адресов в django?
- 10. Как подключать и отправлять данные в MQ с помощью java
- 11. как отправлять почтовые данные в JQuery с помощью Ajax
- 12. Как правильно отправлять данные с помощью ajax в div?
- 13. Как сохранить данные формы в быстром приложении
- 14. Основные данные в быстром. Приложение теряет данные?
- 15. Как подключать и отправлять/получать данные на устройство Bluetooth (OBDII) в быстром (IOS 8)?
- 16. Отправлять данные в окна с iphone с помощью Xamarin
- 17. Как отправлять данные в iOS?
- 18. Как отправлять данные по электронной почте с помощью C++
- 19. Как мы можем отправлять данные с помощью meteor restivus
- 20. Как асинхронно отправлять данные клиенту с помощью другого пути приложения?
- 21. Как отправлять POST-данные на веб-сайт с помощью Jsoup
- 22. Android: как отправлять и получать данные с помощью SMS-сообщений
- 23. Как я могу отправлять разумные данные с помощью JSON?
- 24. как отправлять данные с помощью dbCRUD для nodeJS
- 25. Как подключать и отправлять данные с помощью bluetooth C# Xamarin?
- 26. Laravel 5.2: Как отправлять и удалять данные с помощью Ajax?
- 27. Как отправлять данные с помощью node-http-ntlm?
- 28. Как использовать getInputStream() для NSNetService в Swift?
- 29. Как ограничить количество клиентов в NSNetService?
- 30. NSNetService делегат и ARC
Спасибо за ответ. Я сделал все это, но хочу отправить сообщение между обоими устройствами, так что мне делать? – Avim
@ AvinashMulewa Я же сказал. Используйте поток памяти и просто напишите в «success». – RhysO
Я начинаю быстро, вы можете отправить мне код. – Avim