RUVIDEO
Поделитесь видео 🙏

Como Programar uma Aplicação de Chat Em Python com Sockets

Código:
server:
import socket
import threading

HOST = input("Host: ")
PORT = int(input("Port: "))

server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server.bind((HOST,PORT))
server.listen()
print(f'Server is Up and Listening on {HOST}:{PORT}')

clients = []
usernames = []

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

def handleMessages(client):
while True:
try:
receiveMessageFromClient = client.recv(2048).decode('ascii')
globalMessage(f'{usernames[clients.index(client)]} :{receiveMessageFromClient}'.encode('ascii'))
except:
clientLeaved = clients.index(client)
client.close()
clients.remove(clients[clientLeaved])
clientLeavedUsername = usernames[clientLeaved]
print(f'{clientLeavedUsername} has left the chat...')
globalMessage(f'{clientLeavedUsername} has left us...'.encode('ascii'))
usernames.remove(clientLeavedUsername)


def initialConnection():
while True:
try:
client, address = server.accept()
print(f"New Connetion: {str(address)}")
clients.append(client)
client.send('getUser'.encode('ascii'))
username = client.recv(2048).decode('ascii')
usernames.append(username)
globalMessage(f'{username} just joined the chat!'.encode('ascii'))
user_thread = threading.Thread(target=handleMessages,args=(client,))
user_thread.start()
except:
pass

initialConnection()

client:
import socket
import threading

ServerIP = input("Server IP: ")
PORT = int(input("Port: "))

client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
try:
username = input('Enter a username: ')
client.connect((ServerIP,PORT))
print(f'Connected Successfully to {ServerIP}:{PORT}')
except:
print(f'ERROR: Please review your input: {ServerIP}:{PORT}')

def receiveMessage():
while True:
try:
message = client.recv(2048).decode('ascii')
if message=='getUser':
client.send(username.encode('ascii'))
else:
print(message)
except:
print('ERROR: Check your connection or server might be offline')

def sendMessage():
while True:
client.send(input().encode('ascii'))

thread1 = threading.Thread(target=receiveMessage,args=())
thread2 = threading.Thread(target=sendMessage,args=())

thread1.start()
thread2.start()

Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «Como Programar uma Aplicação de Chat Em Python com Sockets», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.

Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.

Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!

Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.