Git Product home page Git Product logo

tebak-warna-udp's Introduction

Nama Proyek

Tebak Warna UDP

Deskripsi

Proyek ini adalah server sederhana yang menggunakan UDP (User Datagram Protocol) untuk berkomunikasi dengan klien. Server ini mengimplementasikan permainan di mana klien harus menebak warna yang dipilih secara acak oleh server.

Cara Kerja Server.py

  1. Inisialisasi Soket Server: Program membuat soket UDP dan mengikatnya ke alamat dan port tertentu.
  2. Fungsi handle_game: Menangani setiap koneksi dari klien. Mulai dari mengirim pesan selamat datang hingga memberikan poin berdasarkan jawaban yang diberikan klien.
  3. Fungsi accept_connections: Menerima koneksi dari klien dan memulai permainan ketika jumlah klien mencapai batas maksimum.
  4. Input Jumlah Maksimal Koneksi: Pengguna diminta untuk memasukkan jumlah maksimal koneksi yang diinginkan.
  5. Inisialisasi Objek Warna: Objek warna dibuat untuk setiap warna yang mungkin dengan metode untuk mengembalikan warna, jawaban yang benar, dan memberikan poin berdasarkan jawaban yang diberikan.
  6. Mulai Menerima Koneksi: Program mulai menerima koneksi dari klien dan memulai permainan saat jumlah klien terhubung mencapai batas maksimum.
  7. Thread untuk Setiap Klien: Untuk setiap klien yang terhubung, server membuat thread baru yang menjalankan fungsi handle_game.
  8. Penutupan Soket: Setelah semua permainan selesai, soket server ditutup.

Cara Kerja Client.py

  1. Inisialisasi Soket UDP: Script ini membuat soket UDP dan mengirimkan kode koneksi ke server.

  2. Menerima Respons dari Server: Menerima respons awal dari server dan melakukan print.

  3. Menerima Informasi Awal: Klien menerima dan mencetak pesan awal dari server terkait dengan permainan.

  4. Menerima Informasi Warna: Klien menerima informasi tentang warna saat ini dan mencetaknya.

  5. Memulai Thread Input: Sebuah thread terpisah dimulai untuk menunggu masukan dari pengguna.

  6. Menunggu Masukan atau Timeout: Klien menunggu pengguna untuk memberikan masukan atau hingga timeout terjadi.

  7. Penanganan Timeout: Jika timeout terjadi sebelum pengguna memberikan masukan, klien mengirim sinyal TIMEOUT ke server.

  8. Memeriksa Hasil dari Server: Klien menerima hasil dari server dan mencetaknya.

  9. Penyelesaian Program: Setelah menerima hasil dari server, klien menutup soket dan keluar.

Penggunaan

  1. Jalankan program server terlebih dahulu.
  2. Jalankan program klien setelah server berjalan.
  3. Ikuti instruksi pada program klien untuk berpartisipasi dalam permainan.

Use Case 10 Client 1 Server!

image

tebak-warna-udp's People

Contributors

xeventh avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.