He hecho el siguiente programa cliente servidor:
servidor.py
Código Python:
Ver original
# -*- coding: utf-8 -*- import socket s = socket.socket() s.bind(("xxxxxxx",9999)) s.listen(10) cliente1, addr = s.accept() print "Recibo conexion de "+str(addr[0]) + ": " + str(addr[1]) cliente1.send("1") cliente2, addr1 = s.accept() print "Recibo conexion de "+str(addr1[0]) + ": " + str(addr1[1]) cliente2.send("0") c = 1 cnt = 0 while True: if c == 1: recibido = cliente1.recv(1024) cliente2.send(recibido) c = 2 else: recibido = cliente2.recv(1024) cliente1.send(recibido) c = 1 if recibido == "by": cliente1.send("fin") cliente2.send("fin") break; cliente1.send("seguir") cliente2.send("seguir") print "adios" cliente1.close() cliente2.close() s.close()
cliente.py:
Código Python:
Ver original
# -*- coding: utf-8 -*- import socket s = socket.socket() s.connect(("xxxxxxxxx",9998)) var = int(s.recv(1024)) if var: print "Empiezas ha hablar" else: print "Esperate hasta que te hablen" while True: if var: mensaje = raw_input("Mensage a enviar: ") s.send(mensaje) var = 0 else: msg = s.recv(1024) addr = "otro" print "Mensage de "+addr+" "+msg var = 1 continuar = s.recv(1024) if (continuar == "fin"): break
El programa en si funciona desde diferentes ordenadores, pero dentro de mi red es decir utilizando mi internet, pero desde ordenadores con diferente internet no...
a que puede ser debido esto? inicialmente creia que era pq el puerto 9998 de mi router no estaba abierto, pero tampoco es que tenga conocimiento sobre redes asi que no se.
Donde pone xxxxx pongo la direccion que me sale cuando pongo en la consola de linux ifconfig en el aparatado inet,y cuando estoy en windows pongo ipconfig y lo que me sale en direccion IPv4
Alguien me podria decir como proceder para que me funcionara de ordenador a ordenaror, sin el mismo internet?
Saludos!!!