- 서버(server.py)
1 2 3 4 5 6 7 8 | import socket server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.bind(('server', 12345)) server_socket.listen(0) client_socket, addr = server_socket.accept() data = client_socket.recv(65535) print(data) | cs |
4번 라인에서 'server'는 서버의 ip 주소 또는 호스트명을, 12345는 서버소켓의 포트를 의미한다.
- 클라이언트(client.py)
1 2 3 4 5 | import socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect(('server', 12345)) sock.send('Hello') | cs |
서버와 동일하게, 4번 라인에서 'server'는 서버의 ip 주소 또는 호스트명을, 12345는 서버소켓의 포트를 의미한다.
- 실행 결과
먼저, 서버를 실행한다.
클라이언트와의 통신을 대기 중이므로 어떤 메시지도 나타지 않는다.
1 2 | [admin@server ~]$ python server.py | cs |
다음으로, 클라이언트를 실행한다.
실행 즉시 서버에게 'Hello'를 전송하고 프로그램이 종료된다.
1 2 | [admin@client ~]$ python client.py [admin@client ~]$ | cs |
다시, 서버로 돌아가면 아래와 같이 'Hello' 메시지가 잘 전달되어있다.
1 2 3 | [admin@slave1 ~]$ python server.py Hello [admin@slave1 ~]$ | cs |
- 참고 사이트
TCP통신 파이썬 소켓 프로그래밍, http://itsaessak.tistory.com/126
'프로그래밍 언어 > Python' 카테고리의 다른 글
파이썬에서 Microsecond(마이크로초) 단위까지 시간 출력하기 (1) | 2017.10.17 |
---|