본문 바로가기
네트워크

기본 tcp 연결 - 메세지 한 번만 주고받기

by tryotto 2019. 12. 26.

Client

1
2
3
4
5
import socket
 
client_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_sock.connect(('127.0.0.1',8080))
client_sock.send('Hello'.encode('utf-8')) # utf-8 로 인코딩을 해서 보내줘야, 제대로 된 메세지가 전달된다.
cs


Server
1
2
3
4
5
6
7
8
9
10
11
12
import socket
 
server_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
#TCP 방식일 경우, SOCK_STREAM 방식을 많이 사용. UDP 는 SOCK_DGRAM 사용
server_sock.bind(('127.0.0.1',8080)) 
# bind 의 경우, 첫번째 파라미터인 '~'주솟값을 두번째 파라미터인 포트 번호와 연결짓는 역할.
# 클라이언트 측은, 서버측의 IP 주솟값은 당연히 안다. 그러나 해당 IP 주소를 실제 포트번호와 연결짓지는
# 못하는데, 그 역할을 하는 게 bind 다.
server_sock.listen(3
# 총 몇 개의 접속을 허용할 것인지를 파라미터 값으로 집어넣는다
 
connect_socket, addr = server_sock.accept() 
# client 와 연결짓는 새로운 socket 을 반환 받고, 주솟값도 받는다. 이떄, connect_sock 과 server_sock는 다른것이다!!
 
data = connect_socket.recv(8000
print(data.decode('utf-8'))
cs