PHP TCP 소켓 통신 예제 <CLIENT 부분>
실제 현장에서 써먹은 예제입니다. 상대쪽에서 특정한 바이트 나열값을 받으면 Request 를 다시 받는것인데요..
물론 서버쪽은 저희가 알리는 없고 ㅋ. 간단한건데 처음부터 하기가 귀찮으신분들을 위해 이렇게 올립니당 ㅋ
<?php
//The Client
error_reporting(E_ALL);
$address = "xxx.xxx.xxx.xxx"; // 접속할 IP //
$port = xxxx; // 접속할 PORT //
//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>";
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>";
}
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에 지정 //
$input = socket_read($socket, 1024) or die("Could not read from Socket\n"); // 소켓으로 부터 받은 REQUEST 정보를 $input에 지정 //
echo "<br>";
echo $input; //REQUEST 정보 출력//
socket_close($socket);
?>
댓글 2개
13년 전
유용하게 쓸수 있을거 같은데요 감사합니다 ^^
takumi22
12년 전
좋은 정보 감사합니다
게시글 목록
| 번호 | 제목 |
|---|---|
| 9865 | |
| 9857 | |
| 9854 |
JavaScript
자바스크립트 메소드 관련..
2
|
| 17539 | |
| 9853 | |
| 9851 |
JavaScript
클릭하면 레이어로 메뉴영역 올라오는거요~~
1
|
| 17538 | |
| 9850 | |
| 9847 |
기타
쇼핑몰을 구축하려면
2
|
| 9846 | |
| 9844 |
PHP
라이브러리를 만들어서
1
|
| 9842 |
Flash
플래시 작업소스가 없는데
1
|
| 9840 |
MySQL
mysql 커뮤니티 버젼을 사용해서
1
|
| 9838 | |
| 9836 |
JavaScript
flash의 많은 기능들을
1
|
| 19876 |
HTML
php로 사이트 개발시
3
|
| 9833 |
Linux
그누4 에서 메일발송을 사용하려면
2
|
| 9832 |
jQuery
상용 그리드에 버금가는
|
| 9829 |
정규표현식
운전면허번호도
2
|
| 9826 |
node.js
node.js 활용사례 좀..
2
|
| 19872 | |
| 9824 |
Mobile
jquery mobile 커스터마이징...
1
|
| 9823 |
PHP
프레임웍 보다는...
|
| 9820 | |
| 17537 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기