让我们以一个简单的例子开始---一个接收输入字符串,处理并返回这个字符串到客户端的TCP服务.下面是相应的代码:
PHP 代码:
<?
// 设置一些基本的变量
$host="192.168.1.99";
$port=1234;
// 设置超时时间
set_time_limit(0);
// 创建一个Socket
$socket=socket_create(AF_INET,SOCK_STREAM,0) or die("Could not create
socketn");
//绑定Socket到端口
$result=socket_bind($socket,$host,$port) or die("Could not bind to
socketn");
// 开始监听链接
$result=socket_listen($socket,3) or die("Could not set up socket
listenern");
// accept incoming connections
// 另一个Socket来处理通信
$spawn=socket_accept($socket) or die("Could not accept incoming
connectionn");
// 获得客户端的输入
$input=socket_read($spawn,1024) or die("Could not read inputn");
// 清空输入字符串
$input=trim($input);
//处理客户端输入并返回结果
$output=strrev($input) ."n";
socket_write($spawn,$output,strlen($output)) or die("Could not write
outputn");
// 关闭sockets
socket_close($spawn);
socket_close($socket);
?>
<?
// 设置两个变量
$host="192.168.1.99";
$port=1234;
?>
<?
// 超时时间
set_time_limit(0);
?>
<?
// 创建Socket
$socket=socket_create(AF_INET,SOCK_STREAM,0) or die("Could not create socketn");
?>
<?
// 创建 socket
$socket=socket_create(AF_INET,SOCK_DGRAM,0) or die("Could not create socketn");
?>
<?
// 绑定 socket to 指定地址和端口
$result=socket_bind($socket,$host,$port) or die("Could not bind to socketn");
?>
<?
// 开始监听连接
$result=socket_listen($socket,3) or die("Could not set up socket listenern");
?>
<?
//接受请求链接
// 调用子socket 处理信息
$spawn=socket_accept($socket) or die("Could not accept incoming connectionn");
?>
<?
// 读取客户端输入
$input=socket_read($spawn,1024) or die("Could not read inputn");
?>
<?
// 处理客户端输入并返回数据
$output=strrev($input) ."n";
socket_write($spawn,$output,strlen($output)) or die("Could not write outputn");
?>
<?
// 关闭 sockets
socket_close($spawn);
socket_close($socket);
?>