Answers for "socket echo server python"

2

python tcp socket example

# Basic example where server accepts messages from client.

# importing socket library
import socket

# socket.AF_INET means we're using IPv4 ( IP version 4 )
# socket.SOCK_STREAM means we're using TCP protocol for data transfer
socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

print("Choose mode. s - server, c - client")
mode = input("> ")

if mode == "s":
  ip = input("Your computer's ip address: ")
  port = 80
  
  # Binding socket to specified ip address and port
  socket.bind((ip, port))
  
  # This is max ammount of clients we will accept
  socket.listen(1)
  
  # Accepting connection from client
  sock, addr = socket.accept()
  print("Client connected from", addr)
  
  # Receiving data from client
  while True:
    data = sock.recv(16384) # Raw data from client
    text = data.decode('utf-8') # Decoding it
    
    print("Message from client:", text)
    
elif mode == "c":
  ip = input("Server ip address: ")
  
  # Connecting to server
  socket.connect((ip, 80))
  
  # Sending data
  while True:
    socket.send(input("Message: ").encode('utf-8'))
Posted by: Guest on May-14-2021
0

make a socket server side python

import socket
import threading

HOST = '127.0.0.1'
PORT = 9090

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((HOST, PORT))

server.listen()

clients = []
nickname = []

def broadcast(message):
    for client in clients:
        client.send(message)

def handle(client, address):
    while True:
        try:
            message = client.recv(1024).decode('utf-8')
            print(f"Client {str(address)} says {message}")
            broadcast(message)
        except:
            clients.remove(client)
            print(f"Client {address} disconnected")
            client.close()
            pass

def receive():
    while True:
        client, address = server.accept()
        print(f"Connected with {str(address)}!")
        clients.append(client)
        broadcast(f"Client {address} connected to the server".encode('utf-8'))
        client.send("Connected to the server".encode('utf-8'))
        thread = threading.Thread(target=handle, args=(client, address))
        thread.start()

print("Server running...")

receive()
Posted by: Guest on August-24-2021

Python Answers by Framework

Browse Popular Code Answers by Language