server_socket.php:
<?php
//创建服务端的socket套接流,net协议为IPv4,protocol协议为TCP
$socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
/*绑定接收的套接流主机和端口,与客户端相对应*/
if(socket_bind($socket,'127.0.0.1',8888) == false){
echo 'server bind fail:'.socket_strerror(socket_last_error());
/*这里的127.0.0.1是在本地主机测试,你如果有多台电脑,可以写IP地址*/
}
//监听套接流
if(socket_listen($socket,4)==false){
echo 'server listen fail:'.socket_strerror(socket_last_error());
}
//让服务器无限获取客户端传过来的信息
/*接收客户端传过来的信息*/
$accept_resource = socket_accept($socket);
/*socket_accept的作用就是接受socket_bind()所绑定的主机发过来的套接流*/
if($accept_resource !== false){
/*读取客户端传过来的资源,并转化为字符串*/
echo("connect success".PHP_EOL);
while (true) {
$string = socket_read($accept_resource,1024);
/*socket_read的作用就是读出socket_accept()的资源并把它转化为字符串*/
echo 'server receive is :'.$string.PHP_EOL;//PHP_EOL为php的换行预定义常量
}

本文通过两段代码(server_socket.php和client_socket.php)详细介绍了如何使用PHP进行Socket长连接,实现数据的稳定传输。server_socket.php创建了一个监听客户端连接的服务端,client_socket.php作为客户端,建立连接并发送数据,展示了PHP在Socket编程中的应用。

4859

被折叠的 条评论
为什么被折叠?



