服务器端,要先开
<?php
if(isset($_POST['submit']))
{
ignore_user_abort(true);
set_time_limit(0); //确保在连接客户端时不会超时$address='127.0.0.1'; //设置IP
$port=1874; //端口号,调试的时候,可以多换端口来测试程序!if(!($sock=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)))exit; //创建一个SOCKETif(!($ret=socket_bind($sock,$address,$port)))exit; //绑定到socket端口if(!($ret=socket_listen($sock,4)))exit; //开始监听//do { //以下是用来接收client(客户)端传来的信息
if (!($msgsock = socket_accept($sock)))exit; echo "读取客户端发来的信息<p>"; $buf = socket_read($msgsock,8192); //将接收到的资源$msgsock用socket_read每次8192的大小读到$buf中
$talkback = "<font color=red>收到的信息:$buf</font><p>";
echo $talkback; $return_msg = "嗨,尊敬的用户,您好\r\n";
if(!(socket_write($msgsock, $return_msg, strlen($talkback))<0)) //向client端返回向要的信息(可有可无)
{
echo "<font color='blue'>向客户端返回信息为:$return_msg</font><p>";
}
socket_close($msgsock);
//} while (true);socket_close($sock);
}
?><form action="" method="post">
<input type="submit" name="submit" value="开启服务器">
</form>
<?php
if(isset($_POST['submit']))
{
ignore_user_abort(true);
set_time_limit(0); //确保在连接客户端时不会超时$address='127.0.0.1'; //设置IP
$port=1874; //端口号,调试的时候,可以多换端口来测试程序!if(!($sock=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)))exit; //创建一个SOCKETif(!($ret=socket_bind($sock,$address,$port)))exit; //绑定到socket端口if(!($ret=socket_listen($sock,4)))exit; //开始监听//do { //以下是用来接收client(客户)端传来的信息
if (!($msgsock = socket_accept($sock)))exit; echo "读取客户端发来的信息<p>"; $buf = socket_read($msgsock,8192); //将接收到的资源$msgsock用socket_read每次8192的大小读到$buf中
$talkback = "<font color=red>收到的信息:$buf</font><p>";
echo $talkback; $return_msg = "嗨,尊敬的用户,您好\r\n";
if(!(socket_write($msgsock, $return_msg, strlen($talkback))<0)) //向client端返回向要的信息(可有可无)
{
echo "<font color='blue'>向客户端返回信息为:$return_msg</font><p>";
}
socket_close($msgsock);
//} while (true);socket_close($sock);
}
?><form action="" method="post">
<input type="submit" name="submit" value="开启服务器">
</form>
<?php
if(isset($_POST['submit']))
{
error_reporting(E_ALL);
set_time_limit(0);
echo "<h2>TCP/IP Connection</h2><p>";$service_port = 1874; //连接的端口号,与服务端的端口要一致
$address = "127.0.0.1"; //设置IPif(!($socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)))exit; //创建一个SOCKET
else echo "SOCKET创建OK.<p>";
echo "试图连接 $address 端口:$service_port...<p>";$result = socket_connect($socket, $address, $service_port); //开始连接
if ($result < 0)exit;
else echo "连接OK<p>";$message = $_POST['message']."\r\n"; //想要向服务器传送的消息if(!socket_write($socket, $message, strlen($message)))exit; //开始向服务器传送消息
else echo "<font color='blue'>向服务器发送信息:$message</font>(<font color='green'>成功!!!</font>)<p>";while($out = socket_read($socket, 8192)) //读取服务器返回的消息
echo "<font color='red'>接收服务器回传信息:$out</font>(<font color='green'>成功!!!</font>)<p>";echo "正在关闭SOCKET...<p>";
socket_close($socket);
echo "SOCKET关闭OK<p>";
}
?> <form method="post">
<input type="text" name="message">
<input type="submit" name="submit" value="开启客户端">
</form>
我也不知道怎么心血来潮, 跑这种地方来了!
所以一定要在发送前转换成文字格式(如 xml, json, serialize 等公用格式)
伺服器端接收后再根据自己需要转换回来p.s. 不要随便骂人