kop Posted March 5, 2006 at 05:53 PM Report #16920 Posted March 5, 2006 at 05:53 PM Queria começar a usar sockets em Python.Tinha como objectivo fazer transferencia de ficheiros, No entanto quando os ficheiros tem mais que uns bytes, ele dá problemas. Espero que me possam ajudar, desde ja obrigado Fica o codigo: Server: from socket import * hostname = "localhost" port = 1337 buf = 8192 addr = (hostname, port) s = socket(AF_INET, SOCK_DGRAM) #s = socket(AF_INET, SOCK_STREAM) s.bind(addr) #print s.getsockname() #s.getpeername() while 1: data, addr = s.recvfrom(buf) if not data: print "Cliente bkoken" break else: #print "\nReceiving data\n", data f=open("fsck.bin", "wb") f.write(data) f.close() s.close() Cliente: from socket import * host = raw_input ("Enter your Hostname") port = 1337 addr = (host,port) s = socket(AF_INET, SOCK_DGRAM) #while (1): #data = raw_input('>> ') f=open("ls", "rb") data=f.read() f.close() if(s.sendto(data, addr)): #print "Sending message '",data,"'....." print "sending" # Close socket s.close() [17:49:07 ] [luis@darks:~/projectos] $ python client.py Enter your Hostnamelocalhost Traceback (most recent call last): File "client.py", line 13, in ? if(s.sendto(data, addr)): socket.error: (90, 'Message too long') Cumprimentos,
teckV Posted March 6, 2006 at 03:22 PM Report #17040 Posted March 6, 2006 at 03:22 PM estava um post sobre Client / Server em python que não encontro...onde tinha já respondido a uma questão sobre os avanços em python... se alguem vir esse post... provavelmente procurei mal programação sobre sockets é algo que ultrapassa qualquer linguagem e entra nos conceitos proprios de sockets... tens de respeitar as regras de programação sobre sockets e gerir os tamanhos dos blocos de bytes a comunicar... gerir os buffers, etc... no codigo que tinha apresentado estava lá isso exemplificado se alguem o encontrar seria cool, mas de qualquer forma analisa estes docs... Socket Programming HOWTO - Python http://www.amk.ca/python/howto/sockets/ mais sobre o tema http://www.hetland.org/python/instant-hacking.php e tipo um doce por um beijo amargo http://www.cartel-securite.fr/pbiondi/scapy.html be the last... be the worst... be bad... be you...
kop Posted March 6, 2006 at 08:25 PM Author Report #17111 Posted March 6, 2006 at 08:25 PM Sim, todas as linguagens se regem pelo mesmo conceito de socket. (Até porque já li um dos sites que referiste) Eu vou ver o que consigo fazer, depois digo mais alguma coisa. Obrigado. Cumprimentos,
teckV Posted March 14, 2006 at 06:21 PM Report #18246 Posted March 14, 2006 at 06:21 PM vêm este tópico http://www.portugal-a-programar.pt/index.php?showtopic=1752 cumprimentos,
kop Posted March 18, 2006 at 03:56 PM Author Report #18683 Posted March 18, 2006 at 03:56 PM Obrigado! Funciona! 🙂
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now