php socket通信機(jī)制實例說明與代碼----什么是socket 所謂socket一般也稱作"套接字",用于描述ip地址和端口,是一個通訊鏈的句柄。使用程序一般經(jīng)過"套接字"向network發(fā)出請求也許應(yīng)對network請求。說白了就是一種通訊機(jī)制。它類似于銀行,電信啊這一些部分的電話客服業(yè)務(wù)單元。您打電話的時候,那邊會調(diào)設(shè)置一個人回答您的問題,客服業(yè)務(wù)單元就相當(dāng)于socket的服務(wù)器端了,您這邊呢就相當(dāng)于用戶端了,在和您通話完結(jié)前,假設(shè)有人在想找和您通話的那個談話是不可能的,由于您在和他通訊,當(dāng)然客服業(yè)務(wù)單元的電話更換機(jī)也不會重復(fù)調(diào)配。
目前創(chuàng)新互聯(lián)已為數(shù)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管運(yùn)營、企業(yè)網(wǎng)站設(shè)計、南岳網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。下面我將舉例子來說明一下,socket是怎樣工作的。假設(shè)您是基于使用層開發(fā)的人員并不一定要理解原理,然而能曉得那是更好了。網(wǎng)絡(luò)有對于socket的php api。下下來用就行了。
socket服務(wù)器server.php // 構(gòu)建server端socket
$tcp = getprotobyname("tcp");
$socket = socket_create(af_inet, sock_stream, $tcp);
socket_bind($socket, '127.0.0.1', 10008); //綁定要監(jiān)聽的端口
socket_listen($socket); //監(jiān)聽端口
//初始化一個DATA,和用戶端通訊
$buffer = "connect";
while (true) { // 接受一個socket聯(lián)接
$connection = socket_accept($socket);
if(!$connection){
echo "connect fail";
}else{
echo "socket connectedn"; // 向用戶端傳送一個信息DATA
if ($buffer != "") {
echo "send data to clientn";
socket_write($connection, $buffer . "n");
echo "wrote to socketn";
} else {
echo "no data in the buffern" ;
} // 從用戶端獲得信息
while ($data = @socket_read($connection, 1024, php_normal_read)) {
printf("buffer: " . $data . "n"); //獲得信息給用戶端一個反響
socket_write($connection, "information receivedn");
}
}
socket_close($connection); //封鎖 socket
printf("closed the socketn");
}
?>
另外注意,socket用戶端client.php
// 構(gòu)建用戶端的socet聯(lián)接
$socket = socket_create(af_inet, sock_stream, sol_tcp);
$connection = socket_connect($socket, '127.0.0.1', 10008); //聯(lián)接服務(wù)器端socket
while ($buffer = @socket_read($socket, 1024, php_normal_read)) { //服務(wù)端告訴用戶端,自身的形態(tài)
if (preg_match("/not connect/",$buffer)) {
echo "don`t connectn";
break;
} else { //服務(wù)器傳來信息
echo "buffer data: " . $buffer . "n";
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
本文題目:phpsocket通信機(jī)制實例說明與代碼-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://jinyejixie.com/article18/csdigp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、App設(shè)計、Google、網(wǎng)站營銷、網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容