2026-04-11 00:08:10 +00:00
|
|
|
# Biblioteca padrão para utilização de sockets
|
|
|
|
|
import socket
|
|
|
|
|
|
2026-04-11 00:46:12 +00:00
|
|
|
# Criar um objeto socket com AF_INET (IPV4) e SOCK_STREAM (TCP)
|
2026-04-11 00:08:10 +00:00
|
|
|
servidor = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
|
|
|
|
|
|
|
|
# Estabelecer vínculo com um endereço e uma porta
|
2026-04-11 00:46:12 +00:00
|
|
|
servidor.bind(("0.0.0.0",3000))
|
|
|
|
|
|
|
|
|
|
print("Servidor inicializado...")
|
2026-04-11 00:08:10 +00:00
|
|
|
|
|
|
|
|
# Começa a ouvir tentativas de conexão
|
|
|
|
|
servidor.listen()
|
|
|
|
|
|
2026-04-11 00:46:12 +00:00
|
|
|
while True:
|
|
|
|
|
# Aceitar conexão, recebendo o objeto socket da conexão e
|
|
|
|
|
# o endereço de quem se conectou
|
|
|
|
|
conexao, endereco = servidor.accept()
|
|
|
|
|
print(f"Endereco do cliente: {endereco}")
|
2026-04-11 00:08:10 +00:00
|
|
|
|
2026-04-11 00:46:12 +00:00
|
|
|
# Recebendo mensagem do cliente. Tenho que converter
|
|
|
|
|
# bytes para string (decode)
|
|
|
|
|
mensagem = conexao.recv(1024).decode()
|
|
|
|
|
print(f"Mensagem recebida: {mensagem}")
|
2026-04-11 00:08:10 +00:00
|
|
|
|
2026-04-11 00:46:12 +00:00
|
|
|
# Enviar mensagem. Precisa ser em bytes (decode)
|
|
|
|
|
conexao.send("OK! Sou o servidor".encode())
|
2026-04-11 00:08:10 +00:00
|
|
|
|