PHP基于socket實(shí)現(xiàn)客戶端和服務(wù)端通訊功能
本文主要介紹了PHP基于socket實(shí)現(xiàn)的簡(jiǎn)單客戶端和服務(wù)端通訊功能,可實(shí)現(xiàn)服務(wù)端接收客戶端發(fā)送的字符串進(jìn)行翻轉(zhuǎn)操作后返回客戶端的功能,需要的朋友可以參考下
服務(wù)端:
<?php
set_time_limit(0);
$host="localhost";
$port=1001;
//創(chuàng)建一個(gè)連接
$socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)or die("cannot create socket\n");
//綁定socket到端口
$result=socket_bind($socket,$host,$port) or die("cannot bind port to socket\n");
//開(kāi)始監(jiān)聽(tīng)這個(gè)端口
$result=socket_listen($socket,4) or die("could not set up socket listen\n");
//接受連接,另一個(gè)socket來(lái)處理通信
$msgsock=socket_accept($socket) or die("cannot accept incoming connection\n");
if($msgsock){
echo date("Y-m-d H:i:s D a");
}
//讀取客戶端發(fā)送過(guò)來(lái)的信息
$input=socket_read($msgsock,1024) or die("cannot read input\n");
$input=trim($input);
$output=strrev($input)."順序反過(guò)來(lái)了吧\n";
//對(duì)接收到的信息進(jìn)行處理,然后返回到客戶端
socket_write($msgsock,$output,strlen($output)) or die("cannot write");
//關(guān)閉socket連接
socket_close($msgsock);
socket_close($socket);
?>
客戶端:
<?php
set_time_limit(0);
$host="localhost";
$port=1001;
//創(chuàng)建一個(gè)socket
$socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)or die("cannot create socket\n");
$conn=socket_connect($socket,$host,$port) or die("cannot connect server\n");
if($conn){echo "client connect ok!";}
socket_write($socket,"hello world!") or die("cannot write data\n");
$buffer=socket_read($socket,1024,PHP_NORMAL_READ);
if($buffer){
echo "response was:".$buffer."\n";
}
socket_close($socket);
?>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
php提交表單時(shí)判斷 if($_POST[submit])與 if(isset($_POST[submit])) 的區(qū)別
if(isset($_POST['submit'])) 它的意思是不是判斷是否配置了$_POST['submit'] 這個(gè)變量呢? 如果有這個(gè)變量 在執(zhí)行其它代碼2011-02-02
因str_replace導(dǎo)致的注入問(wèn)題總結(jié)
這篇文章主要給大家介紹了關(guān)于因str_replace導(dǎo)致的注入問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
php include和require的區(qū)別深入解析
本篇文章是對(duì)php中include與require的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
PHP定時(shí)執(zhí)行任務(wù)的3種方法詳解
PHP不支持多線程,有時(shí)候處理問(wèn)題不是那么方便,今天談?wù)撘幌翽HP定時(shí)執(zhí)行的方法,感興趣的小伙伴們可以參考一下2015-12-12

