A Console-based TCP/IP Chat Messenger Application.
This is a console-based Chat Application built using Java 9. It includes functionality for exposing a local development server to the internet using "Ngrok".
- Java 11
- Port Forwarding System - Ngrok
i. Clone the git repo
https://github.com/AAdewunmi/TCP_Chat_Application.git
ii. Open project folder
iii. Explore
i. Installing ngrok on OSX (Read Ngrok documentation and Github Gist below):
https://ngrok.com/docs/getting-started
https://gist.github.com/wosephjeber/aa174fb851dfe87e644e
ii. Access Ngrok TCP tunnel using Terminal:
Run > $ ngrok tcp 1500
TERMINAL ERROR MESSAGE!
TCP tunnels are only available after you sign up. Sign up at: https://dashboard.ngrok.com/signup
If you have already signed up, make sure your authtoken is installed. Your authtoken is available on your dashboard: https://dashboard.ngrok.com/get-started/your-authtoken
Run > $ ngrok authtoken [TOKEN]
Re-Run > $ ngrok tcp 1500
iii. Use Ngrok as a service in Intellij IDE (YouTube Video):
https://www.youtube.com/watch?v=eMt29lTPh8I
i. Run Server Class, then Client Class.
ii. Run Server and *** multiple Client configs on "localhost"/Port Number 1500.
iii. Run Server and *** multiple Client configs on Ngrok-as-a-service (Download plugin) on "localhost"/Port Number 1500.
iv. Run Server and *** multiple Client configs on Multirun-as-a-service (Download plugin) on "localhost"/Port Number 1500.
v. Run Server config on "localhost"/Port 1500, Run multiple *** Client configs using NGROK forwarding service (See commented code in Client and Server Class). Sample Ngrok forwarding address: "x.tcp.ngrok.io", port number XXXXX.
- multiple Client configs: To create multiple clients using Intellij, you need to go to -> Edit Configurations -> Click Client -> Copy Configuration -> Client(1) created. This process can be repeated to create as many clients as required.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
UDEMY: Java Development Mega Course: Build Projects Practically
(Java Programming Course: Learn Development of JAVA Projects Using JSP, JDBC, Servlets, Swing, Spring Boot, Maven, Hibernate)
Project Name: Project 38: TCP Chat Application
Created by: Engineering.Org.In
Last updated: 03/2022
URL: https://www.udemy.com/course/build-real-world-java-projects-using-spring-jsp-jdbc/