stuffrabbit / swiftcoap Goto Github PK
View Code? Open in Web Editor NEWSwift Server/Client Implementation of CoAP - RFC 7252
License: MIT License
Swift Server/Client Implementation of CoAP - RFC 7252
License: MIT License
Looks like it's not supported at the moment. How difficult would it be to add?
Hello,
Is it possible to use SwiftCoap with DTLS? Unfortunately, I could not find anything about it.
Thanks for your help!
Mallenow
Hi,
I am wondering how to use SwiftCoap protocol, when I want to make a higher layer call?
Let's assume I implement an LWM2M server in an iOS app. The LWM2M server will be setup together with your nice SwiftCoAP implementation, which I setup as CoAP server. The LWM2M operations "register" and "unregister" operations that a LWM2M client can send to my LWM2M server are clear how to handle, since they are incoming requests to the server.
But outgoing requests, like LWM2M operation "execute" which the LWM2M server shall send to a LWM2M client, how do you suggest that I shall use SwiftCoAP to do that? Shall the LWM2M server suddenly setup your code as a CoAP client to do that, whilst in normal case for incoming requests, where it is a CoAP server?
Unfortunately this great App doesn't work with iOS 10.1 anymore. Would be great (again ;-) if this issue can be fixed.
Hi, I would like to know if there is any issue using this library and Apple validation (Specially regarding security) ?
Hi, I'm looking for a CoAP library for iOS which can handle non-IP transports, in this case Bluetooth Low Energy (BLE).
My question is, If I were to write a custom SCCoAPTransportLayerProtocol for BLE using a CBPeripheral's address 128bit UUID as the address with port 0, would any of the source need to be modified? That is, can the SwiftCoAP handle non-IP addresses?
Another option would be to map the CBPeripheral's address to an IP address to use with SwiftCoAP if necessary.
Let me know what you think.
Thanks,
Brian
Hi,
We are using this library in our app and it works great! However, we are facing following issues while using the library in a multi-threaded environment, when multiple request and responses are sent in parallel:
Block 2 request is sent based on last request which is sent from library. It should be sent on the basis of latest block response received. When library receives any new block, it is creating a new request for getting its next block. This next block request should be created on the basis of block 1 which is just received. Instead, it is creating next block request on the basis of an old request (pendingCoAPMessageInTransmission) which is sent from library. This old request could be of any other request rather from the block received.
isMessageInTransmission variable is a shared variable in library. This is limitation in which if there are multiple request response done in parallel, we will not get correct state of isMessageInTransmission. If there are 2 message sent in parallel, we are not getting correct in transmission state.
Individual Blocks are received in application from the library. And app needs to append all blocks and create complete response. Instead, Library should handle all blocks and share complete response with app once all blocks are received.
Retransmitted response is not handled by the library. Application needs to check whether response is retransmitted or new one and then use the response based on the message ID. Library should discard response if app has already processed it or if it has already sent the same response to the app.
These are not fixed in the new Swift Library also.
Thanks!
Did you plan to add this feature in your roadmap ?
Hi Stuffrabbit,
I like your CoAP implementation of Swift and it seems to work fine when trying out your CoAP server implementation together with this CoAP client in the Firefox webbrowser:
https://addons.mozilla.org/en-US/firefox/addon/oma-lwm2m-devkit/
Now my questioN:
LWM2M implementations:
https://github.com/eclipse/wakaama (Implemented in C)
https://github.com/FlowM2M/AwaLWM2M (Implemented in C)
https://github.com/eclipse/leshan (Implemented in Java)
according to:
https://en.wikipedia.org/wiki/OMA_LWM2M
Maybe you've built wakamaa as a iOS-library (so its still C code), but with integration to SwiftCoAP?
Hi,
Does it support DTLS?
I'm trying to try out SwiftCoAP with Objective-C. Are there any examples of how to send requests / act as a server bridged from Objective-C.
Hi Stuffrabbit,
I like your CoAP implementation of Swift.
But when using XCode 7.3 it seems to already have support for Swift3, i.e next version after Swift2.2. Thus when using SCClient, SCServer or SCMessage about 20 compiler warnings appear, for example:
Will you make an update of SwiftCoAP to fix those compiler warnings?
See here for more details about Swift 3:
https://github.com/apple/swift-evolution
https://swift.org/blog/swift-3-api-design/
Hi @stuffrabbit,
Would it be possible to update this code to Swift 4/5 and Xcode 11?
And maybe add the latest things from the C-lib implementation of CoAP? :)
Cheers.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.