Group project for Computer Science 3. Takes input and stores it encryptedly, in style.
rpbeltran / java-secure-lan-chat Goto Github PK
View Code? Open in Web Editor NEWEncrypted LAN chat client
License: The Unlicense
Encrypted LAN chat client
License: The Unlicense
Errors, such as issues involving text parsing, either handle only on the server side, sometimes crashing the server without any visible response on the client side, or just ungracefully in general. We need to be able to properly catch errors where possible, and propagate an appropriate error message back to the client, or maybe some kinda log file for server errors.
Should boot them to login screen. FrontEnd.returnToLogin() may need to be made public for backend to handle.
Need to ensure that the displayed room is the current room, ATM it just displays one kinda at random upon updating the list.
Also, upon selecting a room, the GUI properly aligns itself. Fuck Swing.
I cannot get Java8 and therefore LocalTime to work. It's probably not a bad idea to find a Java7 alternative anyways.
For the time being, the client just sends "TIME"
as the timestamp. :\
@legomaniack - I see why you said that the colon won't work for the separator. How about a comma, or a semicolon? I don't foresee any problems with that.
The usernames list handles horizontal scrolling properly, but the enclosing frame gains excessive spacing to where the rest f the name should be, as if it's rendering the name, but not showing it in the ScrollView
If the message length exceeds the size of the box, it just kinda breaks everything.
The current system is basically set up to handle that, but it needs two things.
n
or less length substrings.Instantiating BackEnd should not open a connection, that functionality should be a callable method in order to handle errors. Method should probably throw
errors in order to be handled by FrontEnd.
The messages are echoed, but there isn't any method to receive the input stream. There's a method to handle input, but there's nothing connecting that to the Input/OutputStream. Not to mention the server is just not actually handling messages properly to begin with.
It's driving me insane, but I don't know what you want to do with it.
There is a blank space on the right of the users box until a room is joined. Only then is the correct alignment achieved by the GUI.
This was originally part 2 of #11.
Someone who understands threading is going to have to help me with the command line stuff; without swing handling events for me, it has quickly gotten over my head. Big issue is that the CLI version of the server just kinda exits immiediatly after outputting text, unless I add a while(true)
, which is bad.
The server should probably send messages back to the client in the form of "messages since x time" rather than "here's all the messages". Would stop excessive data, and allow for non synchronized client things, line local console message type stuff. Just a thought.
This way, we can standardize our references to updating things in the frontend or handling requests from the frontend in the backend. We won't have to have separate code in the backend to handle the two different kinds of UI.
For the future, so we don't forget...
We should add support for Asian characters (UTF-8) so people can talk in non-European languages.
Currently, these characters are converted into ? marks... e.g.
こんにちは becomes ?????
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.