PHP 소켓 통신 TCP/IP

PHP 2012. 12. 13. 12:07

[PHP] 소켓 통신(전송) PHP 소스 

 

필자가 실제 현장에서 검증하고 구현된 소켓통신 PHP 소스입니다.

 

웹상에 저질 정보들이 너무 난무해서 확실히 되는 소켓통신 '전문전송' 소스 입니다. 물론 서버쪽에서

 

도 소켓을 생성하여 전문을 받고 회신을 해줄 수 있어야 겠죠?

 

TCP 전용으로 작성해 보겠습니다.  실험은 사이트에 "socket.php"로 올려서 예제로 만들어서 해봤습

 

니다. NICE(한국신용평가)사 와 라우터와 전용선으로 1:1 연결해서 했던 방식입니다.

 

<?php
//The Client
error_reporting(E_ALL);

$address = "xxx.xxx.xxx.xxx"; // 접속할 IP //
$port = xxxx; // 접속할 PORT //

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // TCP 통신용 소켓 생성 //
if ($socket === false) {
echo "socket_create() 실패! 이유: " . socket_strerror(socket_last_error()) . "\n";
echo "<br>";
} else {
echo "socket 성공적으로 생성.\n";
echo "<br>";
}

echo "다음 IP '$address' 와 Port '$port' 으로 접속중...";
echo "<BR>";

$result = socket_connect($socket, $address, $port); // 소켓 연결 및 $result에 접속값 지정 //

if ($result === false) {
echo "socket_connect() 실패.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
echo "<br>";
} else {
echo "다음 주소로 연결 성공 : $address.\n";
echo "<br>";
}

$i = "xxxxxxxxxxxxxxxxx"; //보내고자 하는 전문 //

echo "서버로 보내는 전문 : $i|종료|.\n";


socket_write($socket, $i, strlen($i)); // 실제로 소켓으로 보내는 명령어 //

echo "<br>";
$input = socket_read($socket, 1024) or die("Could not read from Socket\n"); // 소켓으로 부터 받은 REQUEST 정보를 $input에 지정 //

echo "<br>";


echo $input; //REQUEST 정보 출력//
socket_close($socket);

?>

 

 

많은 참조가 되었나요? 이것은 예제일 뿐, 실제 약속된 전문을 BIT단위로 잘라서 보낼때는 그에 맞게 $i 값을 자동 지정하게 변형해주자. 

 

'PHP' 카테고리의 다른 글

substr  (0) 2012.12.31
PHP 정규 표현식 문법  (0) 2012.07.31
PHP 정규표현식  (0) 2012.07.31
host 파일 수정  (0) 2012.07.31
PHP 내장 함수  (0) 2012.07.27
블로그 이미지

스마트전

,