Giter VIP home page Giter VIP logo

Comments (12)

oleksandr avatar oleksandr commented on June 2, 2024

This is due to WebSockets dependency (described in README) :-( I think @jpaulm can bring the web sockets examples out into a separate repo and thus will make it possible to publish JavaFBP to one of the central repositories.

from javafbp.

jonnor avatar jonnor commented on June 2, 2024

I'm using java-websockets 1.3.0 pulled down from Maven Central in https://github.com/jonnor/javafbp-runtime. Very quick testing seems to indicate this works OK. Is there an issue with using 1.3.0 for the JavaFBP examples?

from javafbp.

jonnor avatar jonnor commented on June 2, 2024

javafbp-websocket 1.3.1 has not been released (1.3.0 is latest), so I don't think we should wait for that to happen unless there are critical bugs in 1.3.0.

from javafbp.

jpaulm avatar jpaulm commented on June 2, 2024

That's interesting! My test case never works with 1.3.0, but does work
with 1.3.1, which is why I never understood why TooTallNate et al. never
promoted 1.3.1 to Maven Central.

Maybe, if I look at your code, which apparently does work with it, I can
spot some differences.Alternatively, if either of you could look at my
WebSocketReceive component, and see if perhaps it's over-complex...?

I can certainly split off my WebSockets stuff into a separate project, so
I'll do that over the next few days. That's a good idea! May need some
help with the Gradle...!

It seems to be a lot of work to promote stuff to Maven Central, and we're
now using Gradle, so is it really necessary? Does Gradle have a central
repository? If not, what about the GitHub Releases mechanism?

Thanks for the good feedback!

Paul

from javafbp.

jonnor avatar jonnor commented on June 2, 2024

Gradle projects also uses Maven Central. Since gradle 2.0 there is publishing plugin one can use: http://www.gradle.org/docs/current/userguide/publishing_maven.html
Github releases is less inconvenient to use when including the project as a library.

Separating out the WebSocket components and examples might be the best approach.
As for your WebSocket code, I'm pretty sure you can drop the overrides for following methods: onWebsocketHandshakeReceivedAsServer, onWebsocketMessageFragment
You are also specifying draft10 version of the specification, which is ancient. Probably best to use the default.

from javafbp.

jpaulm avatar jpaulm commented on June 2, 2024

Thanks, I'll try that - might take a couple of days though, as I have a lot
on right now...

Thanks,

Paul

PS what did you mean by the comment about including the project as a
library? Tkx.
On 2014-09-09 12:57 PM, "Jon Nordby" [email protected] wrote:

Gradle projects also uses Maven Central. Since gradle 2.0 there is
publishing plugin one can use:
http://www.gradle.org/docs/current/userguide/publishing_maven.html
Github releases is less inconvenient to use when including the project as
a library.

Separating out the WebSocket components and examples might be the best
approach.
As for your WebSocket code, I'm pretty sure you can drop the overrides for
following methods: onWebsocketHandshakeReceivedAsServer,
onWebsocketMessageFragment
You are also specifying draft10 version of the specification, which is
ancient. Probably best to use the default.


Reply to this email directly or view it on GitHub
#5 (comment).

from javafbp.

jonnor avatar jonnor commented on June 2, 2024

When a developer wishes to create software with JavaFBP, they will have their own project (SuperEnterprise2000) with its own project files (gradle,maven or similar). In that project they should just be able to specify 'com.jpmorrison.fbp.javafbp:3.0' as a dependency and have the build system automatically download and set up that dependency.

from javafbp.

jpaulm avatar jpaulm commented on June 2, 2024

Thanks! Got it!

3.0 as in 2.9 + 1 ... or do you mean that the new release will not be
upwards compatible with 2.9? I guess it won't be as we are carving out the
WebSockets stuff...?

Cheers,

Paul
On 2014-09-09 1:15 PM, "Jon Nordby" [email protected] wrote:

When a developer wishes to create software with JavaFBP, they will have
their own project (SuperEnterprise2000) with its own project files
(gradle,maven or similar). In that project they should just be able to
specify 'com.jpmorrison.fbp.javafbp:3.0' as a dependency and have the build
system automatically download and set up that dependency.


Reply to this email directly or view it on GitHub
#5 (comment).

from javafbp.

jonnor avatar jonnor commented on June 2, 2024

3.0 was just a version number. No other meaning intended

from javafbp.

jpaulm avatar jpaulm commented on June 2, 2024

I might use 3.0 anyway - sounds good! Although there won't be much
difference in function!

Cheers,

Paul
On 2014-09-09 1:52 PM, "Jon Nordby" [email protected] wrote:

3.0 was just a version number. No other meaning intended


Reply to this email directly or view it on GitHub
#5 (comment).

from javafbp.

jpaulm avatar jpaulm commented on June 2, 2024

Hi Jon,

Looks like you are on the right track! I dropped the Draft_10 parameter,
and my test is now running! However, it doesn't close down cleanly - when
I do a WebSocketServer.stop, I get the following:

Error:
java.nio.channels.ClosedByInterruptException
Connection closed (1006) by us

Run complete. Time: 24.835
seconds
(these two lines are mine!)Counts: C: 204, D: 206, S: 207, R (non-null):
210, DO: 0
*
( ditto )*
at java.nio.channels.spi.AbstractInterruptibleChannel.end(Unknown
Source)
at sun.nio.ch.SocketChannelImpl.write(Unknown Source)
at
org.java_websocket.SocketChannelIOHelper.batch(SocketChannelIOHelper.java:52)
at
org.java_websocket.server.WebSocketServer.run(WebSocketServer.java:349)
at java.lang.Thread.run(Unknown Source)

I don't feel this is very clean (not what you might call "industrial
strength"), so I've got to do a bit more research!

I have hived off a JavaFBP-WebSockets application from JavaFBP, as you, or
possibly Alex, suggested, but I won't promote it until I've got it closing
down a bit more cleanly.

Thanks for the suggestions! It's looking promising!

Paul

On Tue, Sep 9, 2014 at 12:57 PM, Jon Nordby [email protected]
wrote:

Gradle projects also uses Maven Central. Since gradle 2.0 there is
publishing plugin one can use:
http://www.gradle.org/docs/current/userguide/publishing_maven.html
Github releases is less inconvenient to use when including the project as
a library.

Separating out the WebSocket components and examples might be the best
approach.
As for your WebSocket code, I'm pretty sure you can drop the overrides for
following methods: onWebsocketHandshakeReceivedAsServer,
onWebsocketMessageFragment
You are also specifying draft10 version of the specification, which is
ancient. Probably best to use the default.


Reply to this email directly or view it on GitHub
#5 (comment).

from javafbp.

jpaulm avatar jpaulm commented on June 2, 2024

Hi @jonnor, I can't understand how this remained unclosed for almost 2 years! My test case works - so what is the status of this issue? Do JavaFBP and/or javafbp-websockets need to be added to Maven? Also, I think you said you got java-websockets 1.3.0 from Maven - I don't remember adding it, and it doesn't seem to be there now! Help would be appreciated!

from javafbp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.