라이브러리
[PHP] socket_write - 소켓에 쓰기
소켓 (Socket) 이란?
소켓은 네트워크에서 데이터를 전송하기 위한 소프트웨어 구성 요소입니다. 소켓은 프로세스 간의 통신을 가능하게 하며, TCP/IP 프로토콜을 사용하여 데이터를 전송합니다.
PHP 에서 소켓 사용하기
PHP 에서 소켓을 사용하려면 `socket` 함수를 사용해야 합니다. `socket` 함수는 소켓을 생성하고 소켓에 데이터를 전송하는 데 사용됩니다.
소켓 생성하기
소켓을 생성하려면 `socket_create` 함수를 사용합니다. 이 함수는 소켓의 유형을 지정해야 하며, TCP/IP 소켓을 생성하려면 `SOCK_STREAM`을 사용합니다.
#hostingforum.kr
php
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
소켓에 데이터 전송하기
소켓에 데이터를 전송하려면 `socket_write` 함수를 사용합니다. 이 함수는 소켓에 데이터를 전송하고, 전송된 데이터의 길이를 반환합니다.
#hostingforum.kr
php
$result = socket_write($sock, "Hello, World!", strlen("Hello, World!"));
소켓에 데이터 읽기
소켓에서 데이터를 읽으려면 `socket_read` 함수를 사용합니다. 이 함수는 소켓에서 데이터를 읽고, 읽은 데이터를 반환합니다.
#hostingforum.kr
php
$data = socket_read($sock, 1024);
소켓 종료하기
소켓을 종료하려면 `socket_close` 함수를 사용합니다. 이 함수는 소켓을 종료하고, 소켓의 자원을 해제합니다.
#hostingforum.kr
php
socket_close($sock);
예제
소켓을 사용하여 클라이언트와 서버를 연결하는 예제입니다.
# 서버
#hostingforum.kr
php
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_bind($sock, 'localhost', 8080);
socket_listen($sock);
while (true) {
$client_sock = socket_accept($sock);
$data = socket_read($client_sock, 1024);
echo "클라이언트가 보낸 데이터: $data
";
socket_write($client_sock, "Hello, Client!", strlen("Hello, Client!"));
socket_close($client_sock);
}
# 클라이언트
#hostingforum.kr
php
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect($sock, 'localhost', 8080);
socket_write($sock, "Hello, Server!", strlen("Hello, Server!"));
$data = socket_read($sock, 1024);
echo "서버가 보낸 데이터: $data
";
socket_close($sock);
이 예제에서는 서버가 클라이언트의 데이터를 읽고, 클라이언트에게 데이터를 전송합니다. 클라이언트는 서버에게 데이터를 전송하고, 서버가 전송한 데이터를 읽습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.