라이브러리
[PHP] socket_bind - 소켓에 이름을 바인딩합니다.
socket_bind
PHP의 socket_bind 함수는 소켓을 특정 IP 주소와 포트 번호에 바인딩하는 데 사용됩니다. 소켓을 바인딩하면 소켓이 특정 IP 주소와 포트 번호를 사용하여 통신할 수 있습니다.
socket_bind 함수의 매개 변수
- `socket`: 바인딩할 소켓
- `ip`: 바인딩할 IP 주소
- `port`: 바인딩할 포트 번호
socket_bind 함수의 반환 값
- 성공 시 TRUE, 실패 시 FALSE를 반환합니다.
예제
# 소켓을 바인딩하는 예제
#hostingforum.kr
php
<?php
// 소켓을 생성합니다.
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// 소켓을 바인딩합니다.
if (socket_bind($sock, '127.0.0.1', 8080)) {
echo "소켓을 성공적으로 바인딩했습니다.
";
} else {
echo "소켓 바인딩 실패: " . socket_strerror(socket_last_error()) . "
";
}
// 소켓을 닫습니다.
socket_close($sock);
?>
# 소켓을 바인딩하고 클라이언트와 통신하는 예제
#hostingforum.kr
php
<?php
// 소켓을 생성합니다.
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// 소켓을 바인딩합니다.
if (socket_bind($sock, '127.0.0.1', 8080)) {
echo "소켓을 성공적으로 바인딩했습니다.
";
} else {
echo "소켓 바인딩 실패: " . socket_strerror(socket_last_error()) . "
";
}
// 소켓을 listen 모드로 설정합니다.
if (socket_listen($sock)) {
echo "소켓을 listen 모드로 설정했습니다.
";
} else {
echo "소켓 listen 모드 설정 실패: " . socket_strerror(socket_last_error()) . "
";
}
// 클라이언트와 통신합니다.
while (true) {
$client = socket_accept($sock);
if ($client) {
echo "클라이언트와 연결되었습니다.
";
$data = socket_read($client, 1024);
echo "클라이언트로부터 받은 데이터: $data
";
socket_write($client, "Hello, Client!", 13);
socket_close($client);
} else {
echo "클라이언트 연결 실패: " . socket_strerror(socket_last_error()) . "
";
}
}
// 소켓을 닫습니다.
socket_close($sock);
?>
# 클라이언트 예제
#hostingforum.kr
php
<?php
// 소켓을 생성합니다.
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// 소켓을 연결합니다.
if (socket_connect($sock, '127.0.0.1', 8080)) {
echo "클라이언트가 서버와 연결되었습니다.
";
} else {
echo "클라이언트 연결 실패: " . socket_strerror(socket_last_error()) . "
";
}
// 서버로부터 데이터를 읽습니다.
$data = socket_read($sock, 1024);
echo "서버로부터 받은 데이터: $data
";
// 서버에 데이터를 보냅니다.
socket_write($sock, "Hello, Server!", 13);
socket_close($sock);
?>
이 예제는 소켓을 바인딩하고 클라이언트와 통신하는 방법을 보여줍니다. 클라이언트는 서버에 연결하고 데이터를 읽고, 서버는 클라이언트로부터 데이터를 읽고 응답합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.