37 lines
1.5 KiB
Python
37 lines
1.5 KiB
Python
from xmlrpc.client import ServerProxy
|
|
|
|
def main():
|
|
central_server_url = "http://192.168.2.104:8000"
|
|
client_id = "client_1"
|
|
|
|
# 중앙 서버 연결
|
|
central_server = ServerProxy(central_server_url)
|
|
print(f"중앙 서버에 연결되었습니다: {central_server_url}")
|
|
|
|
# 클라이언트 요청 처리
|
|
session_response = central_server.handle_client_request(client_id)
|
|
print(f"세션 생성/할당 응답: {session_response}")
|
|
|
|
# 세션 ID를 통해 클라이언트별 서버와 통신
|
|
if "Session ID" in session_response:
|
|
session_id = session_response.split(": ")[1]
|
|
client_server_url = f"http://192.168.2.104:{9000 + int(session_id)}" # 세션에 따라 포트 계산
|
|
client_server = ServerProxy(client_server_url)
|
|
|
|
# 작업 요청
|
|
image_url = "https://file.percenty.co.kr/public/652bed8e865b1f32ea62bf1f/products/673809c39acd55067354ee6d/521a831b-903c-4f77-bc86-eb4cd34e4510.jpg"
|
|
save_path = "C:\\translated_images\\result.png"
|
|
print(f"번역 작업 요청: {image_url}")
|
|
print(f"username: {client_server.get_username()}")
|
|
response = client_server.perform_task(image_url, save_path)
|
|
print(f"번역 결과: {response}")
|
|
|
|
# 세션 해제 요청
|
|
release_response = central_server.release_client(client_id)
|
|
print(f"세션 해제 응답: {release_response}")
|
|
else:
|
|
print("세션 생성 실패. 서버 로그를 확인하세요.")
|
|
|
|
if __name__ == "__main__":
|
|
main()
|