테스트 사이트 - 개발 중인 베타 버전입니다

PHP TCP 소켓 통신 예제 <CLIENT 부분>

· 13년 전 · 7693 · 2
실제 현장에서 써먹은 예제입니다. 상대쪽에서 특정한 바이트 나열값을 받으면 Request 를 다시 받는것인데요..
 
물론 서버쪽은 저희가 알리는 없고 ㅋ. 간단한건데 처음부터 하기가 귀찮으신분들을 위해 이렇게 올립니당 ㅋ
 
 
 
<?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);
 ?>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 2개

유용하게 쓸수 있을거 같은데요 감사합니다 ^^
좋은 정보 감사합니다

게시글 목록

번호 제목
17764
17761
17753
17750
26370
4334
4332
17749
17747
26369
17746
17743
17742
17740
17738
17736
17734
17732
30517
17729
17728
17725
24409
17722
30513
17720
17719
4331
17716
26368
17715
17713
17712
17709
30511
30507
30503
30500
17706
17704
17701
17697
17691
17685
30474
17674
30467
17670
17667
17664
17660
17658
17656
4325
30459
4318
17653
30452
17649
30450
30437
17647
4315
4310
30435
30413
17646
30411
17642
17638
17636
30407
17634
17632
17627
17624
17620
17619
17616
17614
17613
17609
17606
17605
17601
24408
17597
4299
17594
17587
17586
4295
17582
17577
17569
17568
17565
30399
30394
24400