Over the last 3 weeks I developed a basic video sharing app to allow my friends to easily synchronize their streams while we play games together.

This app is comprised of the client and server software to allow easy communication between the clients. The entire application was programed around the TCP protocol allowing verification that all data makes it through to each client and vis versa. It also runs in multiple threads. The clients listen and send on separate threads. And the server has a thread open for every client, which is closed upon that client leaving.

I actually programed this software twice. Once before I had any understanding of netcode. And once after. In order to simplify the server and to minimize the chance of bugs causing crashes. So far I have been using the server for a week now, and I have not seen any crashes or instability of that software. However the client has a bug where is a client closes, their stream isn’t stopped. The client knows they are gone, but the code to stop the video doesn’t run. Also restarting the client shows the correct view.

In a future update I would like to add some extra user-friendliness to the clients. As well as the server is ready for an in-place upgrade to allow unique password token for user verification on every session. If I develop this application to be use publicly I would like to encrypt all the data between the server and client.

About Author

Leave a Reply

Your email address will not be published. Required fields are marked *