Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use as a websocket client #21

Open
pixelspark opened this issue Nov 4, 2017 · 14 comments
Open

Use as a websocket client #21

pixelspark opened this issue Nov 4, 2017 · 14 comments

Comments

@pixelspark
Copy link

As there are currently no real websocket clients out there that work on Linux, extending Kitura-Websocket to be a client would be very helpful. Looks like adding client-side capability would not be too difficult as much of the parts are already in place.

@bduisenov
Copy link

Hi @shmuelk, any thoughts on this?

@shmuelk
Copy link
Collaborator

shmuelk commented Mar 27, 2018

I agree that most of the needed code is already inside Kitura-WebSocket.

If you are looking to me to implement it, unfortunately the rest of the IBM Research team that worked on Kitura is now working on other projects. Teams like us, often start things in IBM and then they get passed on to development teams. As has happened with Kitura's "transfer" to the good hands of the Swift @ IBM team.

@bduisenov
Copy link

@shmuelk thanks for your answer.
Does it mean that Kitura is not in active development anymore?

@shmuelk
Copy link
Collaborator

shmuelk commented Mar 27, 2018

Kitura is actively being developed. The features added lately, such as codeable routing, have all come from the Swift @ IBM team. IBM Research was last involved in Kitura 1.7.0. Kitura 2.x.y was all done by Swift @ IBM.

@ianpartridge
Copy link
Contributor

Hi @bduisenov - we have recently started looking at implementing client-side WebSockets in Swift. We're at an early stage though so I can't say when we might have something you could use. But just to let you know, it is something we're investigating.

@sglushchenko
Copy link

I would like to have this feature too. I tried to use BlueSocket, but I faced with the problem when you try to send something to wss://url:443 , I have an error as I try to send plain text to a secure port. So maybe need just correct setup, but I haven't found a solution.

@ianpartridge
Copy link
Contributor

I'm afraid other priorities took over and we haven't made any progress on this. But it's still something that we'd like to see.

@sglushchenko
Copy link

@ianpartridge Thanks. Maybe if you will have time can you look BlueSocket why I can set socket that needs to use HTTPS and doesn't send Plain Text :)? I think it should be automatic if we use HTTPS.

And I'm waiting for a lot of new features :)

@ianpartridge
Copy link
Contributor

Are you using https://github.com/IBM-Swift/BlueSSLService ? This is needed for HTTPS.

@sglushchenko
Copy link

@ianpartridge No, I haven't used it. But what certificates I should set if I connect to third-party WebSocket? We don't set any certificates when we open this URL in a web browser or when I use Starscream on iOS.

@ianpartridge
Copy link
Contributor

If you are writing a client socket that needs to connect over TLS to a remote server you don't need a certificate - it's the server which has the certificate. I think you create an SSLService.Configuration() (no parameters) and SSLService, then set your socket's delegate to use it.

See https://github.com/IBM-Swift/BlueSSLService#creating-and-using-the-sslservice

@sglushchenko
Copy link

@ianpartridge Oh. We can create SSLService without parameters :) Thanks, it maybe helps. I'll try it. I think need to add it to readme.

@ianpartridge
Copy link
Contributor

It does say "or, No certificate at all" but I agree there could be an example showing this fully. I'll raise an issue over there. Thanks!

@ianpartridge
Copy link
Contributor

Kitura/BlueSSLService#70

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants