대학생 코딩 과제 대행 java, python, oracle 스물 다섯 번째

https://open.kakao.com/o/s3aMpbA
이번에는 지난번에 했던 파이썬으로 소켓통신을 하는 과제를 의뢰받았다.
소켓을 통해서 파일을 서버에 업로드 하는 간단한 과제였다.

먼저 서버

#-*- coding: utf-8 -*-
import socket

#서버 소켓 오픈
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
port = 12345
server_socket.bind(("", port))
server_socket.listen(5)

print ("TCP Upload Server Waiting for client on port " + str(port))
while True:
    client_socket, address = server_socket.accept()
    print("I got a connection from ", address)
    req = client_socket.recv(1024)
    print("Request :  ", req)
    decodedReq = req.decode("utf-8")
    print("decode : ", decodedReq)
    fileTitle = decodedReq.split('!@#$%^&*')[0]
    fileContent = decodedReq.split('!@#$%^&*')[1].encode("utf-8")
    print('title : ', fileTitle)
    print('content : ', fileContent)
    uploadFile = open(fileTitle, "wb")
    uploadFile.write(fileContent)
    uploadFile.close()
    client_socket.close()


그리고 더 간단한 클라이언트

import socket
import sys


s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((sys.argv[1], int(sys.argv[2])))
uploadFile = open(sys.argv[3], 'rb')
s.send(sys.argv[3])
s.send('!@#$%^&*')
s.send(uploadFile.read())
uploadFile.close()
s.close()
print('Done!')



먼저 서버를 돌리고
클라이언트를 돌릴 때 host port 업로드할파일
순서대로 해주면 된다.
아래는 실행영상이다.



댓글

이 블로그의 인기 게시물

About JVM Warm up

About idempotent

About Kafka Basic

About ZGC

sneak peek jitpack

Spring Boot Actuator readiness, liveness probes on k8s

About Websocket minimize data size and data transfer cost on cloud

About G1 GC

대학생 코딩 과제 대행 java, python, oracle 네 번째