Skip to main content
Skip table of contents

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

기능

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

인수

인수명자료형기본값설명

sock

socket.socket

-

client_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

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

-2

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

-3

지정한 수신 timeout 발생

rx_data

수신한 데이터(byte )

예외

예외설명

DR_Error (DR_ERROR_TYPE)

인수의 데이터형 오류 시

DR_Error (DR_ERROR_VALUE)

인수의 값이 유효하지 않을 시

예제

PY
sock = client_socket_open(“192.168.137.200”, 20002)

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

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

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

res, rx_data = client_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”가 됩니다.

client_socket_close(sock)
JavaScript errors detected

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

If this problem persists, please contact our support.