• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Bear Bibeault
  • Ron McLeod
  • Jeanne Boyarsky
  • Paul Clapham
Sheriffs:
  • Tim Cooke
  • Liutauras Vilda
  • Junilu Lacar
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • fred rosenberger
  • salvin francis
Bartenders:
  • Piet Souris
  • Frits Walraven
  • Carey Brown

What Technology should use for IP connected chat

 
Ranch Hand
Posts: 674
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi there

I am making a small chat application(Just for grasping java Networking concepts into action)


I am using folowing components
Java Swing for front end GUI.
JDBC with Oracle to store user database their name password etc.
and I am making this application to run on my localhost and maximum 50 users can communicate with each other and can register on server

I am not making this application as web app but a simple Ip based communication.

So do i need any other technology to complete this project

(I am a student)


Thanks


 
Rancher
Posts: 43016
76
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Start by working through the networking section of the Oracle Java Tutorial, particularly "All about sockets". It contains a pair of client/server programs that you can play with to learn the basics.
 
Kishor Joshi
Ranch Hand
Posts: 674
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I new the basics of networking i want help me in Gui making and processing and database connection.

So I am asking what detail about technology I mention is sufficient or I need any else technology of java

apart from it


thanks
 
Kishor Joshi
Ranch Hand
Posts: 674
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Here is a little synoposis of my project and based on that what I think I will use technology

In that User will register them self with server.
user can search currently connected user and registered user.
user can chat with each other.
server can broadcast msg to all user when any user is connect or disconnect.
If a register user is login then it will show welcome msg

and many more

I am using for front end I will use Java Swing and AWT
for database I am using Oracle database
and core java prigramming concepts.


Will there be any better suggestion for technology that I write here?\


Thanks
 
Ranch Hand
Posts: 159
IntelliJ IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Kishor Joshi wrote:
I am using for front end I will use Java Swing and AWT


I don't understand why people keep using (and even learning) old stuff. For GUI development JavaFx is the default nowadays.
 
Kishor Joshi
Ranch Hand
Posts: 674
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks for Java FX suggestions

and other suggestion for making this to look moderan and updated I have posted my problem statement

Do I need more clarification in my problem statement?


Thanks
 
Ulf Dittmer
Rancher
Posts: 43016
76
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Can you be more specific about what you're asking? So far, everything you've mentioned can be done with the classes that come with the JDK. It even comes with a DB (JavaDB, I think it's called), so you don't even need a separate DB. Is that what you're asking?
 
Kishor Joshi
Ranch Hand
Posts: 674
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am asking about latest technology for design

ok let me put my idea if you have a better suggestion for design and perfomance let me know

For front end GUI design :JAVA FX
For Database related operation:Oracle DB
For Networking related operation:java.net api
For programming concept:Core Java Concept

I read somewhere that there is a JAVA NIO like stuff for Networking ?would it be best as compare to Native Java.net package

Any other best suggestion for above menthion technology replacement


Thanks
 
Rancher
Posts: 3742
16
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Kishor Joshi wrote:I read somewhere that there is a JAVA NIO like stuff for Networking ?would it be best as compare to Native Java.net package


Did you read the networking tutorial that Ulf linked to earlier ?
 
Ulf Dittmer
Rancher
Posts: 43016
76
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
NIO is a newer version of java.io, but I advise to ignore it for the time being, and just work with the InputStream and OutputStream that Socket provides.

Seeing that this is a student project I advise to disregard performance entirely. It would likely be premature optimization, and at this stage in your quest for programming proficiency is the wrong thing to focus on.

If you have access to an Oracle DB, fine, otherwise JavaDB should be sufficient.

I don't understand what you mean by "core Java concept" (or "programming concept", actually), so I can't comment on that.

Overall I would say you should nail down the requirements first before making decisions about which technologies to use. Like, what actions can a user perform? Which pieces of data are needed for that, and from where to where do they need to be sent? Which ones do need to be persisted, and for which ones is it sufficient to keep them in memory? Those question are much more important than which API you're going to use for the various pieces.

As a final remark, let me point out that over the years I have seen many people ask here about how to get started building a chat system. I have no idea why that is so popular, but you'll find those discussions using the Search link at the top of the page. I don't recall anyone ever reporting that they actually succeeded in doing so. Some probably did and never came back here, but many folks struggled to make even a meaningful start. Although it is certainly not rocket science, it is not trivial either. So my advice is to start with the simplest thing that could possibly work and get that going. No GUI, no DB, just CLI clients and a server. Start with all message being sent to everyone who is connected. Once that works, let clients do one-on-one chats. I think you'll find that that will already be more work than you expected.
 
author
Posts: 23879
142
jQuery Eclipse IDE Firefox Browser VI Editor C++ Chrome Java Linux Windows
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Ulf Dittmer wrote:
As a final remark, let me point out that over the years I have seen many people ask here about how to get started building a chat system....



The other thing that seems to happen often is the lack of understanding of networking. They get it working on their school system, and then it doesn't work from home, talking to their friends on the internet.

And the whole topic changes to understanding the difference between LAN/WAN, what is a firewall, router, etc., what is NAT, private IP addresses, etc. etc. etc.

Henry
 
Kishor Joshi
Ranch Hand
Posts: 674
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Ulf,Henry

As of know I have got sufficient information to getting started by resources

Thanks
 
Today's lesson is that you can't wear a jetpack AND a cape. I should have read this tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
https://coderanch.com/wiki/718759/books/Building-World-Backyard-Paul-Wheaton
    Bookmark Topic Watch Topic
  • New Topic