## 客戶端代碼:
主要是用while(true)進行阻塞
~~~
<?php
$socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP); //創建字符集
socket_connect($socket,'127.0.0.1',6666); //創建連接
while(true){ //用循環阻塞客戶端
fwrite(STDOUT,'請輸入內容:'); //請輸入內容
$in=fgets(STDIN); //獲取輸入內容
socket_write($socket,$in,strlen($in)); //發送消息
}
~~~
## 服務器端代碼:
~~~
<?php
$soket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
socket_set_option($soket,SOL_SOCKET,SO_REUSEADDR,true); //運行后端口立刻使用
$addr='0'; //所有內網都可以鏈接
$port=6666;
socket_bind($soket,$addr,$port); //綁定IP地址端口等
socket_listen($soket); //監聽
while(true){
$connsock=socket_accept($soket); //等待連接
socket_getpeername($connsock,$ip,$port); //接受客戶端信息
echo 'ip:'.$ip.'....port'.$port.'connetted'.PHP_EOL;
while(true){ //阻塞輸出 客戶端的阻塞輸出
echo socket_read($connsock,1024);
}
}
~~~