php中連線tcp服務的三種方式

2021-10-01 18:31:44 字數 2142 閱讀 2705

首先需要現有乙個 tcp 服務,我們使用 php中的 socket 系列函式實現

<?php 

//建立socket套接字

$socket

=socket_create

(af_inet

,sock_stream

,sol_tcp);

//設定阻塞模式

socket_set_block

($socket);

//為套接字繫結ip和埠

socket_bind

($socket

,'127.0.0.1'

,3046);

//監聽socket

socket_listen

($socket,4

);while

(true

)}

連線 tcp 服務:

使用 socket 系列函式連線

<?php 

$st=

"socket send message"

;$length

=strlen

($st);

//建立tcp套接字

$socket

=socket_create

(af_inet

,sock_stream

,sol_tcp);

//連線tcp

socket_connect

($socket

,'127.0.0.1'

,3046);

//向開啟的套集字寫入資料(傳送資料)$s=

socket_write

($socket

,$st

,$length);

//從套接字中獲取伺服器傳送來的資料

$msg

=socket_read

($socket

,8190);

echo

$msg

;//關閉連線

使用 fsockopen 連線

<?php 

//使用 fsockopen 開啟tcp連線控制代碼

$fp=

fsockopen

("tcp:"

,3046);

$msg

="fsockopen send message"

;//向控制代碼中寫入資料

fwrite

($fp

,$msg);

$ret=""

;//迴圈遍歷獲取控制代碼中的資料,其中 feof() 判斷檔案指標是否指到檔案末尾

while(!

feof

($fp))

//關閉控制代碼

使用 stream_socket_client 連線

<?php 

//使用 stream_socket_client 開啟 tcp 連線

$fp=

stream_socket_client

("tcp::3046");

$msg

="fsockopen send message"

;//向控制代碼中寫入資料

fwrite

($fp

,$msg);

$ret=""

;//迴圈遍歷獲取控制代碼中的資料,其中 feof() 判斷檔案指標是否指到檔案末尾

while(!

feof

($fp))

//關閉控制代碼

引用:

php中連線tcp服務的三種方式

首先需要現有乙個 tcp 服務,我們使用 php中的 socket 系列函式實現 建立socket套接字 socket socket create af inet,sock stream,sol tcp 設定阻塞模式 socket set block socket 為套接字繫結ip和埠 socket...

php連線 mysql的三種連線方式

php與mysql的連線有三種api介面,分別是 php的mysql擴充套件 php的mysqli擴充套件 php資料物件 pdo 下面針對以上三種連線方式做下總結,以備在不同場景下選出最優方案。php的mysql擴充套件是設計開發允許php應用與mysql資料庫互動的早期擴充套件。mysql擴充套...

PHP三種連線mysql方式

主要分為兩種,一是通過mysqli方式,另外是通過pdo mysqli方式只能連線mysql資料庫,而pdo方式可以連線12種資料庫,便於資料庫切換 一 mysqli方式 分為面向過程和物件導向兩種不同的方式 1.mysqli 面向過程 servername localhost username r...