PHP SOCKET程式設計!

2021-06-18 00:19:21 字數 2036 閱讀 3254

server.php

php//

確保在連線客戶端時不會超時

set_time_limit(0

);//

設定ip和埠號

$address

=伺服器自己的ip;

$port

=埠號;

//建立乙個socket

if((

$sock

=socket_create(af_inet

,sock_stream

,sol_tcp))

<0)

//繫結到socket埠

if((

$ret

=socket_bind(

$sock

,$address

,$port

))<0)

//開始監聽

if((

$ret

=socket_listen(

$sock,4

))<0)

do//

發到客戶端

$msg="

伺服器端傳送:歡迎進入伺服器!";

socket_write(

$msgsock

,$msg

,strlen

($msg

));echo

"讀取客戶端發來的資訊";

$buf

=socket_read(

$msgsock

,8192

);$talkback="

收到的資訊

$buf";

echo

$talkback;if

(socket_write(

$msgsock

,$talkback

,strlen

($talkback

))<0)

else

echo

$buf

;socket_close(

$msgsock

);}

while

(true

);socket_close(

$sock

);?>

client.php

phperror_reporting

(e_all

);set_time_limit(0

);echo"\n

";$service_port

=伺服器端口;

$address="

伺服器ip";

$socket

=socket_create(af_inet

,sock_stream

,sol_tcp);if(

$socket

<0)

else

echo

"試圖連線 '

$address

' 埠 '

$service_port

'...";

$result

=socket_connect(

$socket

,$address

,$service_port

);if

($result

<0)

else

$in=

"傳送到伺服器的資訊\r\n";

$in.=

"也是發到伺服器的\r\n";

$out=''

;$out1=''

;if(!

socket_write(

$socket

,$in

,strlen

($in

)))else

while

($out

=socket_read(

$socket

,8192

))echo

"關閉socket...";

socket_close(

$socket

);echo

"關閉ok";

?>

php socket程式設計通訊

我們程式設計就是按這個順序的,請看下面的圖 建立乙個連線 socket socket create af inet,sock stream,sol tcp or die cannot create socket n 繫結socket到埠 result socket bind socket,host,...

PHP Socket 程式設計詳解

最近在做的專案有一項需要耗時任務在後台執行的功能,雖然php並不是非常適合做常駐後台的守護程序,但是由於專案主要 都是基於php實現,如 果執行在後台的守護程序改換別的語言會非常不方便。所以不可避免會涉及到web端和daemon部分的通訊,socket是乙個不錯的方式。socket的英文原義是 孔 ...

php socket程式設計入門

服務端 file name server.php 伺服器端 author guisu.huang since 2012 04 11 確保在連線客戶端時不會超時 set time limit 0 設定ip和埠號 address 127.0.0.1 port 2046 除錯的時候,可以多換埠來測試程式!...