易网时代-编程资源站
Welcome
微信登录
编程资源
图片资源库
蚂蚁家优选
PDF转换器
软件资源
软件开发
、
小程序制作
、
系统集成与运维
、
空间租用
、
硬件开发
、
视频监控
、
技术咨询与支持
——联系电话:0311-88999002/88999003
首页
/
操作系统
/
Linux
/
mini2440上Apache php的socket通信
server.php
[php]
<?php
//确保在连接客户端时不会超时
set_time_limit(0);
//设置IP和端口号
$address
=
"127.0.0.1"
;
$port
=2009;
//调试的时候,可以多换端口来测试程序!
//创建一个SOCKET
if
((
$sock
=socket_create(AF_INET,SOCK_STREAM,SOL_TCP))<0)
{
echo
"socket_create() 失败的原因是:"
.socket_strerror(
$sock
).
"<br>"
;
}
//绑定到socket端口
if
((
$ret
=socket_bind(
$sock
,
$address
,
$port
))<0)
{
echo
"socket_bind() 失败的原因是:"
.socket_strerror(
$ret
).
" "
;
}
//开始监听
if
((
$ret
=socket_listen(
$sock
,4))<0)
{
echo
"socket_listen() 失败的原因是:"
.socket_strerror(
$ret
).
" "
;
}
do
{
if
((
$msgsock
= socket_accept(
$sock
)) < 0)
{
echo
"socket_accept() failed: reason: "
. socket_strerror(
$msgsock
) .
" "
;
break
;
}
//发到客户端
$msg
=
"<font color=red>欢迎进入服务器!</font><br>"
;
socket_write(
$msgsock
,
$msg
, strlen(
$msg
));
echo
"读取客户端发来的信息<br>"
;
$buf
= socket_read(
$msgsock
,8192);
$talkback
=
"收到的信息:$buf<br>"
;
echo
$talkback
;
/* if(socket_write($msgsock, $talkback, strlen($talkback))<0)
{
echo "socket_write() failed: reason: " . socket_strerror($msgsock) . " ";
}
else
{
echo "发送成功";
}*/
//echo $buf;
socket_close(
$msgsock
);
}
while
(true);
socket_close(
$sock
);
?>
client.php
[php]
<?php
error_reporting(E_ALL);
set_time_limit(0);
echo
"<h2>TCP/IP Connection</h2> "
;
$service_port
= 2009;
$address
=
"127.0.0.1"
;
$socket
= socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if
(
$socket
< 0)
{
echo
"socket_create() failed: reason: "
. socket_strerror(
$socket
) .
" "
;
}
else
{
echo
"OK.... "
;
}
echo
"试图连接 $address 端口 $service_port ...<br>"
;
$result
= socket_connect(
$socket
,
$address
,
$service_port
);
if
(
$result
< 0)
{
echo
"socket_connect() failed. Reason: ($result) "
. socket_strerror(
$result
) .
" "
;
}
else
{
echo
"连接OK<br>"
;
}
$in
=
"Hello "
;
$in
.=
"我是Chester "
;
$out
=
""
;
$out1
=
""
;
if
(!socket_write(
$socket
,
$in
, strlen(
$in
)))
{
echo
"socket_write() failed: reason: "
. socket_strerror(
$socket
) .
" "
;
}
else
{
echo
"发送到服务器信息成功!<br>"
;
echo
"发送的内容为:<font color="red">$in</font> <br>"
;
}
while
(
$out
= socket_read(
$socket
, 8192))
{
echo
"接收服务器回传信息成功!<br>"
;
echo
"接受的内容为:"
,
$out
;
}
echo
"关闭SOCKET...<br>"
;
socket_close(
$socket
);
echo
"关闭OK<br>"
;
?>
实验结果如下:
收藏该网址
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图