Jump to content
teckV

[Python] Código Sockets

Recommended Posts

teckV

óaqui vão duas apps em python, uma o servMod.py cria um servidor que aceita comunicações, o cliMod.py é um cliente que inicia e recebe respostas de comunicações

servMod.py
---------------------------------------------------------------------


from socket import *

HOST = 'localhost'
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)

tcpSerSock = socket(AF_INET, SOCK_STREAM)
tcpSerSock.bind(ADDR)
tcpSerSock.listen(5)

while 1:
    print "esperando ligacao"
    tcpCliSock, addr = tcpSerSock.accept()
    print "ligado a: ", addr

    while 1:
        data = tcpCliSock.recv(BUFSIZ)
        if not data: break
        tcpCliSock.send("recebendo... > " + data)

    tcpCliSock.close()
tcpSerSock.close()

-------------------------------------------------------------------------------------

cliMod.py

-------------------------------------------------------------------------------------

from socket import *

HOST = 'localhost'
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)

tcpCliSock = socket(AF_INET, SOCK_STREAM)
tcpCliSock.connect(ADDR)

while 1:
    data = raw_input('>')
    if not data: break
    tcpCliSock.send(data)
    data = tcpCliSock.recv(BUFSIZ)
    if not data: break
    print "ligado a ", ADDR, " - dados - ", data

tcpCliSock.close()

-----------------------------------------------------------------------------

experimentem que isto é giro, podem fazer tudo com isto, brute-force ou ataques de dicionário a passwords de sites, criar programas de messaging com encryptação e pessoais, receber email directamente do servidor, enfim, tudo

h2k5 - [neferu nefera nefertiti]

Share this post


Link to post
Share on other sites
teckV

ainda bem que surgiu esse problema... como podes ver o erro é de Idented block... e perguntam voçes "o que é isso?"

ok... uma das maravilhas do Python é que a estrutura do código é feita através de ident "peço desculpa mas não sei traduzir isto para tuguês" e tem haver com os avanços e tabulações...

para criar um bloco estruturado o python analise os TAB's (avanços) por isso tens de organizar exactamente os avanços como está no exemplo

while 1:    
    data = raw_input('>')  
    if not data: break
    tcpCliSock.send(data)
    data = tcpCliSock.recv(BUFSIZ)
    if not data: break
    print "ligado a ", ADDR, " - dados - ", data

o python é inteligente, e depois de entenderes bem isto vais adorar, é intuitivo e mais ou menos humano

aconselho a lerem alguma teoria introdutoria a respeito do python pois ele introduz muitos conceitos extremamente poderosos e que não encontramos noutras linguagens... explorar o python é como explorar uma miuda que parece virgem mas afinal.... :nono:

muito bom para quem faz tudo de raiz e assim têm o controle total nas comunicações... fix

explora e desenvolve isso...

Share this post


Link to post
Share on other sites

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.