Date of Award

2023

Document Type

Thesis

Degree Name

Bachelors

Department

Natural Sciences

First Advisor

Lepinski, Matthew

Area of Concentration

Computer Science

Abstract

The WebSocket Protocol is a communication protocol made for continuous bidirectional communication between two computers. It is a very popular protocol on the internet typically used in apps that require constant back and forth communication between two parties. These applications range from multiplayer video games, chat applications, live streaming services, and live stock market trading apps. The language in which the WebSocket server is implemented is up to the engineer, and in this paper, we explore which popular programming language would be best in terms of performance when creating a WebSocket server. We rewrote the WebSocket Protocol in Python, Java, and Go, then created a multiplayer game that uses WebSockets to load test the different implementators. Why rewrite the protocol when libraries already exist? The WebSocket libraries for Python, Java and Go are surely written differently because they had different implementors. This can be a point of inconsistency as one implementation might be less efficient than another. In rewriting the protocol with parallel structure in all three languages, we remove this inconsistency (Also writing things from scratch is a great way to learn).

Share

COinS