리눅스 php 소켓통신

페이지 정보

작성자 프리랜서김 댓글 2건 조회 150회 작성일 17-02-02 18:04

본문

 

 

PHP 소켓통신을 하려면 php.ini 설정파일에서 extension=php_sockets.dll 주석을 없애줘야한다. (그리고 아파치 재부팅)

 

클라이언트에서 서버로 메세지를 보낼때.

 

socket_write에서 전송할 메세지를 보낼때, 마지막에 \n을 붙여준다.

이 메세지의 전송이 끝났다는것을 의미한다.

 

//소켓통신 클라이언트 => 서버

define("_IP",    "1.223.109.212");
define("_PORT",  "9090");
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // 소켓 생성
$con = socket_connect($socket, _IP, _PORT); // 소켓을 IP와 PORT에 결합
socket_write($socket, "msg\n"); // 소켓 메세지 전송
socket_close($socket); // 소켓 닫기
 
if ($socket === false) {
    echo "socket_create() 실패! 이유: " . socket_strerror(socket_last_error()) . "\n";
} else {
    echo "socket 성공적으로 생성.\n";
}
 
if ($con === false) {
    echo "socket_connect() 실패.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} else {
    echo "다음 주소로 연결 성공 : $address.\n";
}

 

참조: http://www.phpschool.com/class/php_multi_socket_server.html

연결확인: http://blog.naver.com/PostView.nhn?blogId=lunacastech&logNo=140166729096

 

댓글목록

프리랜서김님의 댓글

프리랜서김 작성일

<p>검색어 - 소켓통신</p>

<p>http://cometkorea.tistory.com/75</p>

<p>http://cloudless.tistory.com/47</p>

<p>http://www.phpschool.com/class/php_multi_socket_server.html</p>

<p>&nbsp;</p>

<p>이 프로그램을 실행하려면, 첫 줄 #!/usr/local/bin/php -q 가 PHP CLI(or CGI) binary의 위치에 있어야 합니다.<br />
여러분은 소스파일의 실행모드를 바꾸는 것이 필요합니다.<br />
(chmod 755 socket_server.php)<br />
실행하려면, &nbsp;커멘드 라인에서 ./socket_server.php치고 엔터.<br />
외관상 이 프로그램은 아무일도 않합니다.<br />
<br />
그럼 각각의 라인을 자세히 살펴봅시다.<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; * #!/usr/local/bin/php -q<br />
&nbsp; &nbsp; &nbsp; &nbsp; PHP CLI 실행파일을 실행합니다. -q 옵션을 쓰면 HTTP 헤더를 출력하지 않습니다.<br />
<br />
<br />
출처: http://cometkorea.tistory.com/75 [Comet&#39;s library]</p>

<p>http://one2many.tistory.com/15</p>

<p>http://www.mireene.com/webimg/linux_tip1.htm</p>

<p>검색어 - 쉘 커맨드 php</p>

<p>http://gongdoo.tistory.com/241</p>

<p>http://imaxicool.tistory.com/tag/%EB%A6%AC%EB%88%85%EC%8A%A4%20php%EC%8B%A4%ED%96%89</p>

<p>&nbsp;</p>

<p>http://okkks.tistory.com/900</p>

<p>&nbsp;</p>

프리랜서김님의 댓글

프리랜서김 작성일

<p>PHP의 CLI (Command Line Interface) 버전. 이것은 소켓서버가 커멘드 라인에서 실행하기 때문입니다.</p>

<p>http://blog.naver.com/rojinsong?Redirect=Log&amp;logNo=50014850952</p>

<p>&nbsp;</p>

<p><strong>CLI(Command Line Interpreter)</strong><br />
<br />
Perl 과 비슷하게 도스나 Shell 상태에서 PHP 스트립트가 동작가능하게 한다.<br />
<br />
PHP4.3.0 이전 버전에서는 옵션(--enable-cli) 설치시 추가한다.<br />
PHP4.3.0 이후 버전 부터 CLI 기본 포함<br />
PHP4.3.0 이후부터 유닉스 매뉴얼 페이지에 포함 ( # man php )<br />
&nbsp;</p>



Contact Information

연락처

입금은행

업무시간

Portfolio

Image

Image

Image

Image

Image

Image

Image

Image