PHP Socket 編程
更新時間:2010年04月09日 17:47:12 作者:
讓我們以一個簡單的例子開始---一個接收輸入字符串,處理并返回這個字符串到客戶端的TCP服務(wù).
下面是相應(yīng)的代碼:
PHP 代碼:
<?
// 設(shè)置一些基本的變量
$host = "192.168.1.99";
$port = 1234;
// 設(shè)置超時時間
set_time_limit(0);
// 創(chuàng)建一個Socket
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create
socket\n");
//綁定Socket到端口
$result = socket_bind($socket, $host, $port) or die("Could not bind to
socket\n");
// 開始監(jiān)聽鏈接
$result = socket_listen($socket, 3) or die("Could not set up socket
listener\n");
// accept incoming connections
// 另一個Socket來處理通信
$spawn = socket_accept($socket) or die("Could not accept incoming
connection\n");
// 獲得客戶端的輸入
$input = socket_read($spawn, 1024) or die("Could not read input\n");
// 清空輸入字符串
$input = trim($input);
//處理客戶端輸入并返回結(jié)果
$output = strrev($input) . "\n";
socket_write($spawn, $output, strlen ($output)) or die("Could not write
output\n");
// 關(guān)閉sockets
socket_close($spawn);
socket_close($socket);
?>
PHP 代碼:
復(fù)制代碼 代碼如下:
<?
// 設(shè)置一些基本的變量
$host = "192.168.1.99";
$port = 1234;
// 設(shè)置超時時間
set_time_limit(0);
// 創(chuàng)建一個Socket
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create
socket\n");
//綁定Socket到端口
$result = socket_bind($socket, $host, $port) or die("Could not bind to
socket\n");
// 開始監(jiān)聽鏈接
$result = socket_listen($socket, 3) or die("Could not set up socket
listener\n");
// accept incoming connections
// 另一個Socket來處理通信
$spawn = socket_accept($socket) or die("Could not accept incoming
connection\n");
// 獲得客戶端的輸入
$input = socket_read($spawn, 1024) or die("Could not read input\n");
// 清空輸入字符串
$input = trim($input);
//處理客戶端輸入并返回結(jié)果
$output = strrev($input) . "\n";
socket_write($spawn, $output, strlen ($output)) or die("Could not write
output\n");
// 關(guān)閉sockets
socket_close($spawn);
socket_close($socket);
?>
相關(guān)文章
jQuery+php實現(xiàn)ajax文件即時上傳的詳解
本篇文章是對jQuery+php實現(xiàn)ajax文件即時上傳的方法進行了詳細的分析介紹,需要的朋友參考下2013-06-06php數(shù)組函數(shù)序列之in_array() 查找數(shù)組值是否存在
in_array() 函數(shù)在數(shù)組中搜索給定的值2011-10-10Swoole 5將移除自動添加Event::wait()特性詳解
這篇文章主要給大家介紹了關(guān)于Swoole 5將移除自動添加Event::wait()特性的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Swoole5具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07PHP開發(fā)中常見的安全問題詳解和解決方法(如Sql注入、CSRF、Xss、CC等)
這篇文章主要介紹了PHP開發(fā)中常見的安全問題詳解和解決方法,詳細介紹了例如Sql注入、CSRF、Xss、CC等攻擊手段的背景知識以及解決方法,需要的朋友可以參考下2014-04-04