PHP 소켓(UDP 클라이언트) 에 대한 질문입니다.

조야의 이미지



Untitled Document




$address="192.168.1.182";
$port=7777;

if($sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP)==FALSE)
echo "socket_create()failed:resaon.";

$opt_ret=socket_set_option($sock,SOL_SOCKET,SO_REUSEADDR,1);

if($opt_ret echo "set_option Error...";
}

#if(socket_set_option($sock, SOL_SOCKET,SO_BROADCAST,1)==FALSE)
# echo "set_option Error...";

#$buf=chr(255);

$buf="Test";
$len =strlen($buf);

$e=socket_sendto($sock,$buf, $len, 0, $address, 7777);

if($e echo "sendto() failed, error : ";
}
socket_close($sock);

?>


C서버에 간단한 메시지를 보내려고 합니다. php나 c나 함수 사용 방법이 비슷하여
잘될줄 알았는데 생각보단 안됩니다 ㅠ.ㅠ

PHP Warning: socket_set_option() expects parameter 1 to be resource, boolean given in /var/www/html/sock.php on line 14
PHP Warning: socket_sendto() expects parameter 1 to be resource, boolean given in /var/www/html/sock.php on line 29
PHP Warning: socket_close() expects parameter 1 to be resource, boolean given in /var/www/html/sock.php on line 34

php -q 옵션으로 php파일을 실행 시켰을때 나는 워닝 입니다.
php.net등을 찾아봐도 방법을 잘 모르겠네요..

어떻게 해야 할까요.. ㅜ.ㅡ

조야의 이미지

전부 잡다 한거 다 빼고...

$sock=socket_create(AF_INET,SOCK_DGRAM,SOL_UDP);
socket_set_option($sock, SOL_SOCKET, 6, TRUE);
$buf="Test";
$len=strlen($buf);
socket_sendto($sock,$buf,$len,0,"127.0.0.1",7777);
socket_close($sock);

이렇게만 넣었떠니 되네요..

이유가 먼지 찾아 봐야 되겠습니다.

감사합니다.

bushi의 이미지

if($sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP)==FALSE)

C 에서도 이렇게 사용하는 것은 ...