Как включить WebSockets в приложение Cocoa

Я разрабатываю приложение Cocoa, которое включает элемент чата. Один из подходов, который я рассмотрел, - это использование Websockets для обработки взаимодействия клиент-сервер. Это было бы особенно желательно, так как чаты также будут отображаться на веб-сайте, а использование Websockets может сделать реализацию очень простой.

Итак: можно ли использовать элемент WebView и использовать в нем Websockets? (Я знаю, что Safari еще не поддерживает Websockets, поэтому я думаю, что это невозможно?)

В противном случае существуют ли клиентские библиотеки Websocket для C, Objective C или любого другого языка, который я мог бы успешно внедрить в свое приложение?

Предложения приветствуются.

Ответы

Ответ 2

Единственная библиотека objective-c WebSocket, поддерживающая новейший стандарт RFC 6455 (на момент написания этого сообщения), SocketRocket (отказ от ответственности: я автор его).

Оба исполнения клиента Unitt и Zimt используют устаревшие протоколы и, похоже, не поддерживаются.

Ответ 3

Существует libwebsocket, предоставленный warmcat в качестве ответа на мой вопрос в библиотеке С++ Websocket.

Он поддерживает самую последнюю стандартную рекомендацию -04 и -05, а также обеспечивает шифрование через SSL. Кроме того, он должен работать на устройствах iOS.

Вы можете использовать его, если не хотите использовать C-код, или вы можете написать обертку Objective-C для библиотеки.

Ответ 4

Не удалось заставить zimt или UnitT работать в моем проекте, поэтому я написал эту быструю оболочку вокруг uiwebview, чтобы использовать встроенные WebSockets, поддерживаемые в iOS 4.2.

https://github.com/zootreeves/iOS-WebSockets/

Производительность достаточно для небольших сообщений.

Ответ 5

zimt, похоже, не работает на iOS4 - никаких изменений не было сделано с 2 апреля 2010 года.