라이브러리

[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` 함수를 사용하는 예제는 위에 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 180 페이지

검색

게시물 검색