Skip to content

Latest commit

 

History

History
61 lines (44 loc) · 1021 Bytes

File metadata and controls

61 lines (44 loc) · 1021 Bytes

FPBM

Formell Protokoll for Bidireksjonell Meldingsutveksling.

Chat med Docker

Bygg:

docker build -t fpbm .
docker network create fpbm-net

Terminal 1 (server):

docker run --rm --name fpbm-server --network fpbm-net fpbm

Terminal 2 (klient 1):

docker run -it --rm --network fpbm-net fpbm chat_client fpbm-server 9000

Terminal 3 (klient 2):

docker run -it --rm --network fpbm-net fpbm chat_client fpbm-server 9000

Skriv "hei" i terminal 2 → dukker opp som > hei i terminal 3.

Bygg selv (Linux)

make all && make examples

Terminal 1:

./chat_server

Terminal 2 og 3:

./chat_client 127.0.0.1 9000

Hvordan det funker

Klient kobler til server over TCP. Først sendes en handshake (FPBM + versjonsnummer), så kan begge sende meldinger fritt begge veier.

Hver melding har en 7-byte header:

  • 2 bytes lengde
  • 1 byte type (DATA eller CLOSE)
  • 4 bytes meldings-ID

Maks payload er 64KB.

Tester

make tests