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).
Recommended Citation
Dinang, Karl Miguel, "An Analytical Comparison of WebSockets in Java, Python, and Go" (2023). Theses & ETDs. 6352.
https://digitalcommons.ncf.edu/theses_etds/6352