Server Chat

June 07, 2023

 import socket

from threading import Thread

SERVER_IP       = "127.0.0.1"

SERVER_PORT     = 5002

separator_token = "<SEP>"

client_sockets  = set()

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

s.bind((SERVER_IP, SERVER_PORT))

s.listen(5)

print(f"[*] Listening as {SERVER_IP}:{SERVER_PORT}")

def listen_for_client(cs):

    while True:

        try:

                msg = cs.recv(1024).decode()

        except Exception as e:

                print(f"[!] Error: {e}")

                client_socket.remove(cs)

        else:

                msg = msg.replace(separator_token, ": ")

        for client_socket in client_sockets:

                client_socket.send(msg.encode())

while True:

        client_socket, client_address = s.accept()

        print(f"[+] {client_address} connected.")

        client_sockets.add(client_socket)

        t = Thread(target=listen_for_client, args=(client_socket,))

        t.daemon = True

        t.start()

for cs in client_sockets:

        cs.close()

        s.close                                           


Artikel Terkait

Next Article
« Prev Post
Previous Article
Next Post »
Penulisan markup di komentar
  • Untuk menulis huruf bold gunakan <strong></strong> atau <b></b>.
  • Untuk menulis huruf italic gunakan <em></em> atau <i></i>.
  • Untuk menulis huruf underline gunakan <u></u>.
  • Untuk menulis huruf strikethrought gunakan <strike></strike>.
  • Untuk menulis kode HTML gunakan <code></code> atau <pre></pre> atau <pre><code></code></pre>, dan silakan parse kode pada kotak parser di bawah ini.

Disqus
Tambahkan komentar Anda

No comments

Halo, Terimakasih telah mengunjungi situs Saya. Silahkan Berikan Pendapat Positif atas Postingan Saya di kolom komentar,..
Terima Kasih