Привет.Чат работает только на одном компе.На другом компе сервер не работает.
Вот код :
Ну вот так как-то.Помогите пожалуйста,я сам новичок в програмировании по этому просто скажите какую часть кода вставить или заменить.Расчитываю на вашу помощь.
Вот код :
Python:
import socket
import threading
#Клиент
SERVER_ADDRESS = ('localhost', 8125)
sor = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sor.bind(('', 0))
sor.sendto(('Connect to server').encode('utf-8'), SERVER_ADDRESS)
def reading_socket():
while True:
data = sor.recv(1024)
print(data.decode('utf-8'))
potok = threading.Thread(target=reading_socket)
potok.start()
Python:
import socket
import os
SERVER_ADDRESS = ('localhost', 8125)
#сервер
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_socket.bind(SERVER_ADDRESS)
clients = []
members = {}
print("Server is running")
#ТУТ БОЛЬШАЯ ФУНКЦИЯ "РЕГИСТРАЦИИ"
#С ВВОДОМ ИМЕНИ, ПОДТВЕРЖДЕНИЕМ, ПАРОЛЕМ
def register_on_chat(port_address):
register_data = 'Необходимо пройти регистрацию, введите свой ник: '
server_socket.sendto(register_data.encode('utf-8'), address)
def confirm_nickname(port_address):
name, address = server_socket.recvfrom(1024)
registration_data = f"Ваш ник {name.decode('utf-8')}? Введите Уes=1 или No=2."
server_socket.sendto(registration_data.encode('utf-8'), address)
append_to_list(name, port_address)
def new_nickmane(address):
registration_data = 'Введите свой ник: '
server_socket.sendto(registration_data.encode('utf-8'), address)
confirm_nickname(address)
def append_to_list(name, port_address):
data, address = server_socket.recvfrom(1024)
if data.decode('utf-8') == '1':
get_pass(name)
elif data.decode('utf-8') == '2':
new_nickmane(port_address)
def get_pass(name):
pass_data_1 = f"Привет {name.decode('utf-8')} Введите пароль для своего ника: "
server_socket.sendto(pass_data_1.encode('utf-8'), address)
password_1, adr= server_socket.recvfrom(1024)
pass_data_2 = "Повтори пароль"
server_socket.sendto(pass_data_2.encode('utf-8'), address)
password_2, adr = server_socket.recvfrom(1024)
if password_1 == password_2:
members[name.decode('utf-8')] = password_1.decode('utf-8')
pass_data_3 = "Регистрация прошла успешно"
server_socket.sendto(pass_data_3.encode('utf-8'), address)
print(members)
else:
pass_data_4 = "Не правильно( попробуй сного"
server_socket.sendto(pass_data_4.encode('utf-8'), address)
get_pass(name)
confirm_nickname(port_address)
while True:
data, address = server_socket.recvfrom(1024)
print(address[0], address[1])
if address not in clients:
clients.append(address)
register_on_chat(address)
text = "Регистрация прошла успешно. Добро пожаловать в чат!"
server_socket.sendto(text.encode('utf-8'), address)
for client in clients:
if client == address:
text_from_client = data.decode('utf-8')
print(text_from_client)
continue
server_socket.sendto(data, client)
Ну вот так как-то.Помогите пожалуйста,я сам новичок в програмировании по этому просто скажите какую часть кода вставить или заменить.Расчитываю на вашу помощь.