Crear una conexión cliente-servidor es facilísimo con Python. Para ello podemos ejecutar un pequeño script en el servidor que creará un socket en el número de puerto especificado y empezará a escuchar a la espera de que el cliente, otro sencillo script, se conecte simplemente indicando la dirección IP y puerto...
En Pastebin podemos encontrar un fantástico ejemplo de cada uno de los scripts, tanto para TCP como para UDP:
En Pastebin podemos encontrar un fantástico ejemplo de cada uno de los scripts, tanto para TCP como para UDP:
#TCPserver.py
#!/usr/bin/python
import socket
s = socket.socket()
port = 11111
s.bind(('', port))
s.listen(5)
while True:
c, addr = s.accept()
data=c.recv(1024)
print ('Address:',addr,'Data:',data)
mylist=list(data.split(':'))
intlist=list()
for i in range(0,len(mylist)):
intlist.append(int(mylist[i]))
intlist.sort()
c.send(str(intlist))
c.close()
#TCPclient.py
#!/usr/bin/python
import sys
import socket
arglen=len(sys.argv)
if arglen<3:
print('please run as python TCPclient.py <ip_address> <numbers>')
exit()
data=str()
data=data+str(sys.argv[2])
for i in range(3,arglen):
data=data+':'+str(sys.argv[i])
s = socket.socket()
port = 11111
s.connect((sys.argv[1], port))
s.send(data)
print s.recv(1024)
s.close
#UDPserver.py
#!/usr/bin/python
import socket
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.bind(('',22222))
while True:
data,addr=s.recvfrom(1024)
print('Address:',addr,'Data:',data)
mylist=list(data.split(':'))
intlist=list()
for i in range(0,len(mylist)):
intlist.append(int(mylist[i]))
intlist.sort()
s.sendto(str(intlist),addr)
#UDPclient.py
#!/usr/bin/python
import socket
import sys
arglen=len(sys.argv)
if arglen<3:
print('please run as python UDPclient.py <ip_address> <numbers>')
exit()
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
port=22222
addr=sys.argv[1]
data=str()
data=data+sys.argv[2]
for i in range(3,len(sys.argv)):
data=data+':'+sys.argv[i]
s.sendto(data,(addr,port))
data,addr=s.recvfrom(1024)
print data
No hay comentarios:
Publicar un comentario