0

server code is

from socket import *

HOST = '' 
PORT = 11443

s = socket(AF_INET, SOCK_STREAM) 
 s.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1) 
s.bind((HOST, PORT)) 
s.listen(10)

conn, addr = s.accept() 
print("Conneted by", addr)

rbuff = conn.recv(1024) 
data = str(rbuff, encoding=str('utf-8'))

while True:
    command = input("쉘 명령어 입력(종료는 quit) : ")
    sbuff = bytes(command, encoding=('utf-8'))
    conn.send(sbuff)

    if command == "quit" :
        break

    data = conn.recv(1024)
    received = str(data)
    print(received)

conn.close()

client code is

import socket, subprocess

HOST = '127.0.0.1' 
PORT = 11443

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
s.connect((HOST, PORT))

msg = "연결 성공" 
sbuff = bytes(msg, encoding="utf-8") 
s.send(sbuff)

while True:
    rbuff = s.recv(1024)
    data = str(rbuff, encoding="utf-8")
    if data == "quit":
        break
    proc = subprocess.Popen(data, shell=True, stdout=subprocess.PIPE,
    stderr = subprocess.PIPE, stdin=subprocess.PIPE)
    stdout_value = proc.stdout.read() + proc.stderr.read()
    sbuff = bytes(stdout_value)
    s.send(sbuff)

s.close()

Run Module..

쉘 명령어 입력(종료는 quit) : hello b"'hello'\xc0\xba(\xb4\xc2) \xb3\xbb\xba\xce \xb6\xc7\xb4\xc2 \xbf\xdc\xba\xce \xb8\xed\xb7\xc9, \xbd\xc7\xc7\xe0\xc7\xd2 \xbc\xf6 \xc0\xd6\xb4\xc2 \xc7\xc1\xb7\xce\xb1\xd7\xb7\xa5, \xb6\xc7\xb4\xc2\r\n\xb9\xe8\xc4\xa1 \xc6\xc4\xc0\xcf\xc0\xcc \xbe\xc6\xb4\xd5\xb4\xcf\xb4\xd9.\r\n"

I lack basic knowledge of encoding and decoding. How can I modify the code to print it in Korean or English?

Steffen Ullrich
  • 114,247
  • 10
  • 131
  • 172
dongga
  • 1

0 Answers0