У меня есть простой чат на Python.Но, такое дело то что нужно ввести IP адрес того,кому хочешь написать.Можно ли сделать так, что-бы можно было создать логин,который будет носить значение IP адреса......
клиент
сервер
клиент
Python:
#КЛИЕНТ
import time, socket, sys
import colorama
socket_server = socket.socket()
server_host = socket.gethostname()
ip = socket.gethostbyname(server_host)
sport = 8080
print('This is your IP address: ',ip)
server_host = input('Enter friend\'s IP address:')
name = input('Enter Friend\'s name: ')
socket_server.connect((server_host, sport))
socket_server.send(name.encode())
server_name = socket_server.recv(1024)
server_name = server_name.decode()
print(server_name,' has joined...')
while True:
message = (socket_server.recv(1024)).decode()
print(server_name, ":", message)
message = input(Fore.RED + "Me : ")
print(Style.RESET_ALL)
socket_server.send(message.encode())
сервер
Python:
#СЕРВЕР
import time, socket, sys
from colorama import Fore, Back, Style
new_socket = socket.socket()
host_name = socket.gethostname()
s_ip = socket.gethostbyname(host_name)
port = 8080
new_socket.bind((host_name, port))
print( "Binding successful!")
print('This is your IP: ', s_ip)
#print('your Internet may be under threat of ddos attacks, come up with a login')
#login = input('Login: ')
name = input('Enter name: ')
new_socket.listen(1)
conn, add = new_socket.accept()
print("Received connection from ", add[0])
print('Connection Established. Connected From: ',add[0])
client = (conn.recv(1024)).decode()
print(client + ' has connected.')
conn.send(name.encode())
while True:
message = input('Me : ')
conn.send(message.encode())
message = conn.recv(1024)
message = message.decode()
print(client, ':', message)