라이브러리
[PHP] socket_sendmsg - 메시지 보내기
socket_sendmsg 함수란?
`socket_sendmsg` 함수는 소켓에서 메시지를 전송하는 함수입니다. 이 함수는 `socket_sendto` 함수와 유사하지만, 메시지를 전송할 때 메시지 헤더를 포함하는 메시지를 전송할 수 있습니다.
socket_sendmsg 함수의 매개변수
`socket_sendmsg` 함수의 매개변수는 다음과 같습니다.
- `sock`: 전송할 소켓
- `msg_name`: 메시지 헤더를 포함하는 메시지의 주소
- `msg_namelen`: 메시지 헤더를 포함하는 메시지의 길이
- `msg_iov`: 메시지의 버퍼
- `msg_iovlen`: 메시지의 버퍼의 개수
- `flags`: 전송 옵션
socket_sendmsg 함수의 반환값
`socket_sendmsg` 함수의 반환값은 전송한 메시지의 길이입니다.
예제
다음은 `socket_sendmsg` 함수를 사용하는 예제입니다.
#hostingforum.kr
php
<?php
// 소켓 생성
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
// 메시지 헤더를 포함하는 메시지
$message = "Hello, World!";
$message_header = pack('N*', 0x12345678, 0x12345678, 0x12345678, 0x12345678);
// 메시지 헤더를 포함하는 메시지의 주소
$msg_name = pack('N*', 0x12345678, 0x12345678, 0x12345678, 0x12345678);
// 메시지 헤더를 포함하는 메시지의 길이
$msg_namelen = strlen($msg_name);
// 메시지의 버퍼
$msg_iov = array($message, strlen($message));
$msg_iovlen = count($msg_iov);
// 전송 옵션
$flags = 0;
// 메시지 전송
$bytes_sent = socket_sendmsg($sock, $msg_name, $msg_namelen, $msg_iov, $msg_iovlen, $flags);
// 전송한 메시지의 길이
echo "전송한 메시지의 길이: $bytes_sent
";
// 소켓 닫기
socket_close($sock);
?>
참고
- `socket_sendmsg` 함수는 소켓에서 메시지를 전송하는 함수입니다.
- `socket_sendmsg` 함수의 매개변수는 `sock`, `msg_name`, `msg_namelen`, `msg_iov`, `msg_iovlen`, `flags`입니다.
- `socket_sendmsg` 함수의 반환값은 전송한 메시지의 길이입니다.
- `socket_sendmsg` 함수를 사용하는 예제는 위에 있습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.