Skip to content

Instantly share code, notes, and snippets.

@Epicguru
Last active November 6, 2018 13:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Epicguru/0744666530e03d77294be58245b5e314 to your computer and use it in GitHub Desktop.
Save Epicguru/0744666530e03d77294be58245b5e314 to your computer and use it in GitHub Desktop.
# C-Chat 2
This is a simple voice chat client, that allows a potentially unlimited number of clients to connect to voice chat servers.
**It's primary purpose is to function on a local network only.**
Those servers can be created by anyone. The person hosting that server has control over the other connected clients, so they can kick and mute other people.
## How to use
Run CrapApp2.exe. It will open a windows form that has the basic controls.
First, choose a username. It is important to press the **[Confirm Name]** button for the name to be updated. You will not be able to do anything else until you have done hit.
[IMAGE HERE]
Now the app will automatically scan the local network for open servers. The port that it scans on can be changed here:
[IMAGE HERE]
Remember to press refresh when you change this port number.
If you see the name of the server you want to connect to, click on it in the list and then press the **[Connect]** button.
You should now be connected. Say hello!
You can also host a server. To do this, disconnect from any server that you were connected to (if any).
Now type the name of the new server, and the port number you want to host it on:
[IMAGE HERE]
Press the **[Create New Server]** button. You should now be hosting a new server. There are some important things to note about server hosting:
1. Only one server can be hosted per device per port. Attempting to open more than one server with the same port on the same device will most likely crash the app.
2. Servers can have duplicate names. This can be confusing, so try to give them unique names.
3. There are no port restrictions imposed by the app. Despite this, you should never use ports below 1024. These are reserved for system use and attempting to use them could mess up you device.
Other users can now join the server.
## Advantages
* By default uses high quality audio sampling and sending. No compression is used, since it is intended for LAN connections.
* Unlimited users and servers.
* Quite easy to use, even though the UI isn't very pretty.
* Good for LAN parties where people are separated by rooms and internet connection can't be used or isn't desirable.
## Limitations & Problems
* Currently only supports LAN connections. The users will have to all be connected to the same WiFi network, or otherwise be connected directly.
* Sudden disconnections may not be handled correctly, leaving ghost users left behind in servers.
## Plans
* Improve the general UI.
* Attempt to use port forwarding to make the app work over the internet. So this thing will actually work as a chat client, such as skype or discord.
* Implement better error reporting.
* Add text chat, so that connected users can type and send out messages.
* Add an option to connect directly.
* Add optional passwords to servers.
* Add optional encryption to servers?
* Allow individual clients to both mute themselves and mute others. (currently only the host can do this)
* Add a few different volume controls. A main, master volume slider, and ideally individual sliders for each connected user. I also want to make it possible for users individual user's volumes to be 'boosted' because some people have really crapp mics.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment