티스토리 뷰
출처 : https://realpython.com/python-sockets/
파이썬을 사용해 소켓 프로그래밍을 해보장.
소켓에 대한 자세한 내용은 https://watchout31337.tistory.com/68?category=901071
[server code]
import socket
HOST = '127.0.0.1' # loopback interface를 이용한다. 즉, 내가 나한테 메세지를 보낸다.
PORT = 9999 # 사용할 포트를 정한다.
# socket.socket() 함수로 socket을 setting한다.
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((HOST, PORT)) # host와 port를 bind한다.
s.listen() # listen 상태로 설정한다.
conn, addr = s.accept() # client로 부터 소켓과 주소 반환,conn은 실제 통신용 소켓,addr은 연결 주소,conn과 addr을 socket과 연결
with conn:
print('Connected by', addr)
while True:
data = conn.recv(1024) #data = conn으로 부터 받은 최대길이 1024byte의 문자열
if not data:
break
conn.sendall(data) #소켓에 data를 전송
[client code]
import socket
HOST = '127.0.0.1'
PORT = 65432
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT)) #서버 소켓으로 연결시도, 서버에서는 host와port를 받으면 accept
s.sendall(b'Hello, world') #data 전송
data = s.recv(1024) #서버의 응답 받음
print('Received', repr(data))
[실행하기]
먼저 서버 쪽을 실행시켜 listening 상태를 만든다.
이 때 netstat -tnlp 명령어로 열려있는 tcp listening상태인 포트를 확인해보면
python3를 이용하는 9999포트가 열려있다.
여기서 클라이언트 쪽을 실행시키면 메세지가 전송된다.
(서버 쪽)
(클라이언트 쪽)
'파이썬 > 파이썬 공부' 카테고리의 다른 글
파이썬 map 함수 (0) | 2020.08.28 |
---|---|
파이썬 enumerate함수 (0) | 2020.08.28 |
파이썬 b-string,f-string (0) | 2020.08.23 |
파이썬 크롤링 beautiful soup 설치 (0) | 2020.08.22 |
파이썬 thread 소켓 프로그래밍 (0) | 2020.08.21 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Python
- cuckoo
- one-to-many
- automotive ethernet
- 이상탐지
- 딥러닝
- json2html
- 차량용 이더넷
- SVM
- HTML
- 크로스 엔트로피
- 단순선형회귀
- automotive
- CAN-FD
- 차량 네트워크
- problem statement
- SOME/IP
- many-to-one
- many-to-many
- porks
- Ethernet
- 회귀
- 논문 잘 쓰는법
- AE
- AVTP
- AVB
- 케라스
- 로지스틱회귀
- PCA
- 머신러닝
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함