Skip to content

Syllabus

Xun Gong edited this page Jul 9, 2019 · 7 revisions

Syllabus

Schedule: Learn about Golang and at least one DHT protocol

Project 1(Not constrained): Get close to golang

implement a client-server protocol using golang. With naive tests.

  • for example, program 1 send msg to program 2, program 2 handles the msg and forward to program 3, program 3 does the action as program 2 and send msg to program 1, program 1 check msg.
  • Tests will not be provided, the propose of this project is to learn forward message and mutli-threads(2 program with both client and server), test this project by yourself.
  • Hint: Naive client-server

Project 2: Implement a DHT protocol in Go

Implement DHT: using any one model is allowed. With naive and strong tests. E.g. chatroom, torrent, dht-filesystem.

Can only use packages provided by offical-golang

Project 3*: Implement an application.

Build a higher level application on top of your DHT

  • No test.
  • E.g. dht-chatroom, dht-file system, dht-torrent.

Project 4*: Bonus

: implement DHT with another algorithm (as mentioned above in overview), or optimize your application.