Skip to content

Chat application in C created using Remote Procedure Calls to communicate multiple distributed clients

Notifications You must be signed in to change notification settings

cgutierrezpa/rpc-distributed-chat

Repository files navigation

RPC Distributed Chat System

This project was developed during the Distributed Systems course taken in Universidad Carlos III de Madrid during my Computer Science and Engineering Bachelor's degree. It consists of a distributed chat system that allowed multiple distributed Java clients to be connected by means of a Server coded in C that handles the client-server connections using RPCs.

Instructions

IMPORTANT NOTE: IF THE CLIENTS ARE TO BE EXECUTED IN THE SAME MACHINE, IT IS RECOMMENDED TO USE LOOPBACK IP ADDRESSES (INSTEAD OF THE PUBLIC IP) TO AVOID CONNECTIVITY PROBLEMS

Compilation

Navigate to the root directory and run make in the terminal.

Execution

In the root directory, open 5 Terminals and then execute the following commands:

  • Terminal 1:
java -cp . md5.server.endpoint.MD5Publisher
  • Terminal 2:
./storeServer
  • Terminal 3:
./server -p <port_number> -s <storage_service_ip>

where port_number is the port number in which the Server Service will be running, and storage_service_ip is the IP address of the Storage Service that is shown in Terminal 2

  • Terminal 4:
java -cp . client -s <messaging_service_ip> -p <port_number> -w <md5_service_ip:md5_service_port>

where messaging_service_ip is the IP address of the messaging service that is shown in Terminal 3; port_number is the same port number indicated in the output of Terminal 3; and md5_service_ip:md5_service_port is the IP address and the port number that are shown in Terminal 1, in the format IP:port

  • Terminal 5:
./monitor <storage_service_ip> <client> <message_id>

where storage_service_ip is the IP address that is shown in Terminal 2

Terminal 4 will execute the client and can be replicated as many times as desired to create other clients and communicate between them in real time

Further and more detailed explanation of how the application works is provided in the report.pdf file

About

Chat application in C created using Remote Procedure Calls to communicate multiple distributed clients

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published