GithubHelp home page GithubHelp logo

7polo / socketclientfx Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jtconnors/socketclientfx

0.0 1.0 0.0 152 KB

JavaFX UI application representing client side of socket connection

License: BSD 3-Clause "New" or "Revised" License

Java 42.44% CSS 0.10% Shell 23.61% PowerShell 33.85%

socketclientfx's Introduction

SocketClientFX

JavaFX UI application representing the client side of a socket connection

This application is written in Java using the Java Module System and the JavaFX API. It represents the client side of a socket connection and can:

  • be configured to connect to either a localhost or remote socket at a configurable port
  • attempt to connect one time, or continually attempt to connect with a specified retry interval
  • send and receive text messages from a connected socket
  • retrieve sent and received messages

It is typically used in conjucntion with one of two server-side JavaFX UI applications: SocketServerFX (https://github.com/jtconnors/SocketServerFX) or MultiSocketServerFX https://github.com/jtconnors/MultiSocketServerFX

This version of the source code is tagged 1.0-JDK14-maven. As its name suggests, it is specific to JDK 14 and can be built with the apache maven build lifecycle system. It uses the jdk.incubator.jpackage module utilities whose API has not been finalized and is subject to change. As such, the scripts contained in this project will insist that JDK 14 be used because subsequent jpackage releases may be incompatible.

This project works on WIndows, MacOS or Linux.

Requirements:

  1. Your default JDK should point to a valid JDK 14 runtime in your PATH.
  2. Prior to running any of the scripts in this project, either the JAVA_HOME or $env:JAVA_HOME (depending upon the platform in question) environment variable must be set to a valid JDK 14 runtime.
  3. In order to generate EXE or MSI installers for Windows using the scripts in this project, the WiX toolkit version 3.0 or greater must be installed and placed on the PATH.

Of note, the following maven goals can be executed:

  • mvn clean
  • mvn dependency:copy-dependencies - to pull down dependent javafx and com.jtconnors.socket modules
  • mvn compile - to build the application
  • mvn package - to create the SocketClientFX module as a jar file
  • mvn exec:java to run the application

Furthermore, additional .sh and .ps1 files are provided in the sh/ and ps1\ directories respectively:

  • sh/run.sh or ps1\run.ps1 - script file to run the application from the module path
  • sh/run-simplified.sh or ps1\run-simplified.ps1 - alternative script file to run the application, determines main class from SocketClientFX module
  • sh/link.sh or ps1\link.ps1 - creates a runtime image using the jlink utility
  • sh/create-appimage.sh or ps1\create-appimage.ps1 - creates a native package image of application using JEP-343 jpackage tool
  • sh/create-deb-installer.sh - creates a native Linux DEB installer of this application using JEP-343 jpackage tool
  • sh/create-dmg-installer.sh - creates a native MacOS DMG installer of this application using JEP-343 jpackage tool
  • ps1\create-exe-installer.ps1 - creates a native Windows EXE installer of this application using JEP-343 jpackage tool
  • ps1\create-msi-installer.ps1 - creates a native Windows MSI installer of this application using JEP-343 jpackage tool
  • sh/create-pkg-installer.sh - creates a native MacOS PKG installer of this application using JEP-343 jpackage tool
  • sh/create-rpm-installer.sh - creates a native Linux RPM installer of this application using JEP-343 jpackage tool

Notes:

  • These scripts have a few available command-line options. To print out the options, add -? or --help as an argument to any script.
  • A sample Microsoft.PowerShell_profile.ps1 file has been included to help configure a default Powershell execution environment. A similar file can be generated specific to environments appropriate for running the bash(1) shell with a .bash_login or .bash_profile file.

See also:

socketclientfx's People

Contributors

jtconnors avatar

Watchers

James Cloos avatar

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.