CSCI 250 - Scalable Software Design and Development

Spring 2017

Programming Project 2: Peer-to-Peer Networking

Overview

In this project, each team will develop a distributed peer-to-peer network application. Multiple users, sitting at different machines, all run their own copies of the application. In order to connect with each other, one user must be aware of the IP address of another user. Once two users are connected, they can share the IP addresses of other users with whom they have a mutual connection.

Ideas

Each student will write a requirements document specifying a software artifact that will solve some particular problem using the medium of peer-to-peer networking. Possible ideas include (but are by no means limited to) the following:

Sample code

This file contains a command-line server that echoes back each message it is sent from each client: These three files represent a GUI client implemented using JavaFX:

Teams

This assignment will be completed in teams of three or four. Teams will be assigned in class on Friday, February 17.

Deadlines