3.7.0 3.6.0 3.5.0 3.4.0 3.3.0 3.2.2 3.2.1 3.2.0 Korean English Chinese Czech Dutch French German Hungarian Italian Japanese Polish Portuguese Spanish
3.7.0 3.6.0 3.5.0 3.4.0 3.3.0 3.2.2 3.2.1 3.2.0 Korean English Chinese Czech Dutch French German Hungarian Italian Japanese Polish Portuguese Spanish

client_socket_read()

정의

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)

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

예제

Python
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)

Keyword

client / client_ / socket / client_socket / client_socket_