1. 참고 자료
socket_create() 함수에는 프로토콜, 소켓 유형, 공용 프로토콜이라는 세 가지 매개변수가 필요합니다. 소켓_create() 함수는 성공적으로 실행되면 소켓을 포함하는
리소스 유형을 반환합니다. 실패하면 false를 반환합니다.
소켓 함수
함수 이름 설명
함수 이름 설명
socket_accept()는 소켓 연결을 허용합니다.
socket_bind() 소켓을 IP 주소 및 포트에 바인딩합니다.
socket_clear_error() 소켓 오류 또는 마지막 오류 코드를 지웁니다.
socket_close() 소켓 리소스를 닫습니다.
p >socket_connect()는 소켓 연결을 시작합니다.
socket_create_listen()은 지정된 포트에서 수신 대기하는 소켓을 엽니다.
socket_create_pair()는 미분화된 소켓 쌍을 배열로 생성합니다.
p>
socket_create()는 소켓 데이터 구조를 생성하는 것과 동일한 소켓을 생성합니다.
socket_get_option()은 소켓 옵션을 가져옵니다.
socket_getpeername()은 원격 유사한 호스트를 가져옵니다. ip address
socket_getsockname() 로컬 소켓의 IP 주소를 가져옵니다.
socket_iovec_add() 분산/집계 배열에 새 벡터를 추가합니다.
socket_iovec_alloc() 이 함수는 보내고, 받고, 읽고 쓸 수 있는 iovec 데이터 구조를 생성합니다.
socket_iovec_delete()는 할당된 iovec을 삭제합니다.
socket_iovec_fetch()는 지정된 iovec 리소스의 데이터를 반환합니다.
p>socket_iovec_free()는 iovec 리소스를 해제합니다.
socket_iovec_set()는 iovec 데이터의 새 값을 설정합니다.
socket_last_error()는 현재 소켓의 마지막 오류 코드를 얻습니다.
p>소켓_listen()은 지정된 소켓의 모든 연결을 수신합니다.
socket_read()는 지정된 길이의 데이터를 읽습니다.
socket_readv()는 분산/집계 배열에서 데이터를 읽습니다.
socket_recv() 소켓에서 캐시로 데이터를 종료합니다.
socket_recvfrom()은 지정된 소켓의 데이터를 수락합니다. 지정하지 않으면 기본값은 현재 소켓입니다.
socket_recvmsg() from iovec 메시지 수락
socket_select() 다중 선택
socket_send() 이 함수는 연결된 소켓으로 데이터를 보냅니다.
socket_sendmsg() 소켓으로 보내는 메시지
p>
socket_sendto()는 지정된 주소의 소켓으로 메시지를 보냅니다.
socket_set_block()은 소켓을 블록 모드로 설정합니다.
socket_set_nonblock() 소켓을 비블록 모드로 설정합니다.
socket_set_option() 소켓 옵션을 설정합니다.
socket_shutdown() 이 함수를 사용하면 읽기, 쓰기 또는 지정된 소켓을 닫을 수 있습니다.
socket_strerror()는 지정된 오류 번호를 반환합니다. 자세한 오류
socket_write()는 소켓 캐시에 데이터를 씁니다.
socket_writev()는 분산/집계된 캐시에 데이터를 씁니다. 배열
2. 코드:
$sendStr?=?'30?32
?30?34?03?30?33';?//?16진수 데이터
$sendStrArray?=?str_split(str_replace('?',?'',?$sendStr),? 2) ;?//?16진수 데이터를 2개의 배열로 변환
$socket?=?socket_create(AF_INET,?SOCK_STREAM,?getprotobyname("tcp"));?/ /?소켓 생성
if?(socket_connect($socket,?"192.168.1.100",?8080))?{?//연결
for?($j?= ?0;?$j?
socket_write($socket,?chr(hexdec($sendStrArray[$j])));?/ /?그룹별로 데이터 그룹 보내기
}
$receiveStr?=?"";
$receiveStr?=?socket_read($socket,?1024,? PHP_BINARY_READ);?// ?바이너리 형식으로 데이터 수신
$receiveStrHex?=?bin2hex($receiveStr);?//?바이너리 데이터를 16진수로 변환
echo?"client:"?.?$ receiveStrHex;
}
socket_close($socket);?//?소켓 닫기 >