elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Mensajes
Páginas: 1 2 3 4 5 [6] 7 8 9 10
51  Programación / Scripting / [SOURCE] "Shell Remota" con Python con GUI (Tkinter) en: 1 Enero 2009, 02:34 am
Tras haber dejado un post sin ninguna respuesta  :-( , empece a buscar como un loco por Google haber como podia hacerlo y ya sabeis el dicho, si quieres, puedes, lo que he hecho esta vez, es crear un servidor socket hecho en python con algunas funciones que se ejecutaran según las ordenes que le demos, según parece, al crear un GUI con Tkinter y teniendo sockets, te ves en una encrucijada pues tenemos dos búcles el de los sockets, para mantener la comunicación y el de la ventana gráfica (root.mainloop()), asi que la solución obvia seria ejecutar una y después otra por cada ciclo, para ello es necesario el uso de thread, que he aprendido a nivel básico como funciona hace un rato :xD , del PDF, Python para todos, y como no tengo ni idea de clases en python lo he adaptado como he podido, y ello me ha obligado a tener que entenderlo.

Funcionamiento:

Simplemente es un servidor socket y un cliente GUI con socket que interactuan, desde el cliente vas mandando comandos y el servidor los ejecuta en la máquina en la que esta ejecutandose. Solo he puesto unos cuantos comando inútiles para ver si funcionaba, y si hace, bastante bien.

Los comandos en cuestión son:

mostrar_os -> Muestra el sistema operativo del servidor
cmd pause -> Pausa una consola en Windows
echo HolaM -> Muestra "Hola Mundo" en la consola.

Código Fuente:

server.py:
Código
  1. #!/usr/bin/python
  2.  
  3. import socket
  4. import os
  5.  
  6. s = socket.socket()
  7. s.bind(("localhost", 9999))
  8. s.listen(30)
  9.  
  10. sc, addr = s.accept()
  11.  
  12. sc.send("Bienvenido!")
  13.  
  14. while True:
  15. recibido = sc.recv(255)
  16. print "Recibido:", recibido
  17. if recibido == "quit":
  18. break
  19. if recibido == "mostrar_os":
  20. recibido = os.name
  21. if recibido == "cmd pause":
  22. os.system("pause")
  23. if recibido == "echo HolaM":
  24. os.system("echo \"Hola Mundo\"")
  25. sc.send(recibido)
  26.  
  27. print "adios"
  28.  
  29. sc.close()
  30. s.close()

client.py:
Código
  1. #!/usr/bin/python
  2.  
  3. from Tkinter import *
  4. import socket
  5. import threading
  6.  
  7. class App:
  8. def __init__(self, master):
  9. Texto = ""
  10. frame = Frame(master)
  11. frame.pack()
  12.  
  13. self.texto_chat = Text(frame)
  14. self.texto_envio = Entry(frame)
  15. self.boton_enviar = Button(frame, text="Enviar!", command=self.evento)
  16.  
  17. self.texto_chat.grid(row=1, column=1)
  18. self.texto_envio.grid(row=2, column=1)
  19. self.boton_enviar.grid(row=2, column=2,)
  20.  
  21. def evento(self):
  22. Texto = self.texto_envio.get()
  23. s.send(Texto)
  24. self.texto_chat.insert(END, "Cliente -> " + Texto + "\n", END)
  25.  
  26. root = Tk()
  27. application = App(root)
  28.  
  29. class socket_thread(threading.Thread):
  30. def __init__(self):
  31. threading.Thread.__init__(self)
  32.  
  33. def run(self):
  34. while True:
  35. mensaje = s.recv(255)
  36. print "Server -> " + mensaje
  37. application.texto_chat.insert(END, "Server -> " + mensaje + "\n", END)
  38. #time.sleep(2)
  39. if mensaje == "quit":
  40. self.salir
  41.  
  42. def salir():
  43. print "Saliendo..."
  44. s.close()
  45.  
  46. s = socket.socket()
  47. s.connect(("localhost", 9999))
  48.  
  49. sock = socket_thread()
  50. sock.start()
  51.  
  52. root.mainloop()

Espero que sirva de algo esto que hice ;)

Si me dejan ponerle licencia que sea zlib, para que pase a dominio público y no tengas que darme ni reconocimientos ni créditos, si lo usaras en tus aplicaciones tanto libres como comerciales.
52  Media / Juegos y Consolas / Re: Dolphin a Full Frameskips!!! (60) en: 29 Diciembre 2008, 18:50 pm
Teóricamente sin filtros ni pollas, y con gráficos al minimo podria llegar a los >30 FPS, lo que si que me parece impresionante es que el con menos machine y demostrado tiene más FPS que yo, aun asi se note el progreso de Dolphin que antes de los 20 FPS no subias, ibas con ~7 FPS, como mucho.
53  Programación / Scripting / como dando ordenes a través sockets en Python? en: 28 Diciembre 2008, 18:09 pm
Vereis estaba probando para hacer una especie de chat, con un bot, me explico estoy haciendo un cliente y un server con sockets, en python y quiero que cuando le envie un string por medio de sockets al server este lo recoja lea una de las posibles opciones, envie un string, y el cliente muestre la info del string enviado por el server, espero que se entienda.

Server.py
Código:
#!/usr/bin/python

import socket

s = socket.socket()
s.bind(("localhost", 9999))
s.listen(30)

sc, addr = s.accept()

sc.send("Bienvenido!")

while True:
recibido = sc.recv(255)
print "Recibido:", recibido
if recibido == "quit":
      break
if recibido == "tonto":
      recibido = "Probando..."
sc.send(recibido)

print "adios"

sc.close()
s.close()

Client.py
Código:
#!/usr/bin/python

import socket
#import time

def salir():
print "adios"
s.close()

s = socket.socket()
s.connect(("localhost", 9999))

while True:
mensaje = s.recv(255)
#time.sleep(2)
mensaje = raw_input("> ")
s.send(mensaje)
if mensaje == "quit":
salir
if mensaje == "Probando....":
print mensaje

Soy un novato en esto de los sockets y python, haber si me lo podeis solucionar y asi podre meter el siguiente paso que es trastear con las librerias GUI, recogi parte del code mirando por google y documentación de python.
54  Media / Juegos y Consolas / Re: Dolphin a Full Frameskips!!! (60) en: 28 Diciembre 2008, 13:05 pm
Si que es cierto que tira bastante bien me va a mi que lo probe el otro dia a >20 FPS con los gráficos medio, y filtro bilineal

Mi PC:

Procesador:
Intel(R) Pentium(R) D CPU 3.40GHz
2400.000 MHz
L2: 2048 KB

RAM:
2048 MB

Tarjeta Gráfica:
Nvidia Point of View GeForce 8500 GT
55  Programación / Programación Visual Basic / Re: Winsock conexiones multiples ¿como? en: 28 Octubre 2008, 13:53 pm
Se me ocurre la idea de hacer retrasar las transmisiones por que creo que no me deja por eso.

En cuanto CSocketMaster y CSocketPlus, le hechare un vistazo ;) .
56  Programación / Programación Visual Basic / Re: Winsock conexiones multiples ¿como? en: 26 Octubre 2008, 19:31 pm
Si he mirado en lo de monografias y no me va lo tengo puesto asi:

Código
  1. Private Sub bntSend_Click()
  2. On Error GoTo errorSub
  3.  
  4. Dim i As Integer
  5. Dim Max As Integer
  6.  
  7. Max = Winsock1.Bound
  8.    i = 0
  9.    For i = 0 To Max
  10.    If Winsock1(i).State = sckConnected Then
  11.    Winsock1(i).SendData (txtSend)
  12.  
  13.    txtLog = txtLog & i & vbCrLf
  14.  
  15.    End If
  16.    Next
  17.  
  18.    txtLog = txtLog & "Servidor : " & txtSend & vbCrLf
  19.    txtSend = ""
  20.  
  21. Exit Sub
  22. errorSub:
  23. MsgBox "Error : " & Err.Description
  24. ' cierra la conexión
  25. Winsock1_Close (intMax)
  26. End Sub

En Teoria deberia funcionar pero solo envia información al segundo cliente...
57  Programación / Programación Visual Basic / Re: Componentes sockets variables ¿como? en: 26 Octubre 2008, 15:39 pm
Consegui algo haciendo y array/matriz de Winsocket mirando por hay, ahora tengo el problema, para enviar mensaje desde servidor a clientes.

Código:
Private Sub bntSend_Click()
On Error GoTo errorSub

Dim i As Integer

    i = 0
    While (i < intMax)
    Winsock1(i).SendData txtSend
   
    txtLog = txtLog & "Servidor : " & txtSend & vbCrLf
    txtSend = ""
   
    i = i + 1
   
    Wend

Exit Sub
errorSub:
MsgBox "Error : " & Err.Description
' cierra la conexión
Winsock1_Close (intMax)
End Sub

El code lo pille de recursosvb y lo del uso de array winsocket mirando en google.

El error es que necesito saber como se envia mensaje de servidor a clientes.

IMAGEN:

58  Programación / Programación Visual Basic / Winsock conexiones multiples ¿como? en: 26 Octubre 2008, 12:52 pm
Buenas tras ver algo de python y traducir alguna que otra aplicación de vb a python, me gustaría profundizar un poco más en vb, para luego trasladar lo aprendido a gambas.

Según he leído en el formulario, puedes meter un componente socket denominado Winsock o similar, que me permite conectarme con otro ordenador a través de Internet, luego también me pareció leer que solo se puede realizar una conexión por componente winsock.

Quiero saber si es posible a través de un winsock para hacer múltiples conexiones.

Espero que se me entienda.
59  Media / Juegos y Consolas / Re: Emulador PSP en: 10 Octubre 2008, 23:06 pm
http://www.google.es/search?q=EMULADOR+PSP&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:es-ES:official&client=firefox-a

Google is your friend :P
60  Programación / Programación Visual Basic / Re: OpenGL o DirectX en: 16 Septiembre 2008, 13:31 pm
No necesariamente tienes que aprender C, se que para programar gráficos tengo entendido que los mejores lenguajes son C/C++ y ASM, para cuellos de botella, sin embargo como veo que provienes Visual Basic, te va a costar mucho, adaptarte a C, así que yo creo que puedes ir desenganchandote de Visual Basic, utilizando una de sus alternativas, FreeBasic, que usa una sintaxis similar, además esta orientado a la creación de videojuegos, y vienen las librerias más usadas, con la instalación.

¿Que es FreeBasic?
Descarga: http://www.freebasic.net/index.php/details?page=download&category=bin&id=1
Documentación: http://www.freebasic.net/index.php/details?page=download&category=doc&id=1
IDE: http://www.freebasic.net/index.php/viewall?page=download&category=tool
¿Como programar un juego?, primera lección: http://www.freebasic.net/wiki/wikka.php?wakka=TutHowToProgGame1
Más Tutoriales: http://www.freebasic.net/wiki/wikka.php?wakka=CommunityTutorials

Es Open Source y maneja el estilo de Visual Basic, eso si no es un RAD, pero que te sirva y que tengas un buen nivel de inglés porque lo vas a necesitar, tanto para Visual Basic como para FreeBasic.
Páginas: 1 2 3 4 5 [6] 7 8 9 10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines