• 서버(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

+ Recent posts