Skip to main content
Skip table of contents

server_socket_read(sock, length=-1, timeout=-1)

기능

Client로부터 데이터를 수신합니다.

인수

인수명자료형기본값설명

sock

socket.socket

-

server_socket_open()에서 리턴 받은

socket instance

length

int

-1

수신할 데이터의 바이트 수

  • -1 : 미지정 (수신된 데이터만큼 읽습니다.)
  • n(>=0) : 지정한 바이트 수만큼 읽습니다.

timeout

int

float

-1

수신 대기 시간

  • -1 : 무한 대기
  • n(>0) : n 초(second)

리턴

(res, rx_data)

설명

res

0

수신한 데이터의 바이트 수

-1

Client와 연결된 상태가 아닙니다.

-2

수신 처리 중 socket.error 예외 발생

-3

지정한 수신 timeout 발생

rx_data

수신한 데이터(byte )

예제

PY
sock = server_socket_open(20002)

res, rx_data = server_socket_read(sock)    # 데이터를 수신할때까지 무한 대기
# length 생략했으므로 수신된 데이터만큼 읽고, 
# timeout 생략했으므로 수신될 때 까지 무한 대기 합니다.
# 데이터가 수신되면 (res = 수신 데이터 사이즈, rx_data=수신데이터) 반환됩니다. 

res, rx_data = server_socket_read(sock, timeout=3) #데이터 수신될까지 3초간 대기
# 데이터가 3초안에 수신되면 (res = 수신 데이터 사이즈, rx_data=수신데이터) 반환
# 데이터가 3초안에 수신 안되면 (res = -3, rx_data=None) 반환

res, rx_data = server_socket_read(sock, length=64) #수신 데이터 64바이트 읽기

res, rx_data = server_socket_read(sock, length=64, timeout=3)
# 3초 타임 아웃을 가지고 수신 데이터 64바이트 읽기

#수신된 byte형을 string 형으로 변환  
rx_msg = rx_data.decode() #rx_data는 byte형이고 string형으로 변환하기 위해서는
                         #decode() 사용합니다.
                         #예를 들어, rx_data = b”abcd” 이면, 
						 #rx_msg=”abcd”가 됩니다.

server_socket_close(sock)
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.