`
liumeng5888
  • 浏览: 36471 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

php socket 监听服务器端口

阅读更多

<?php
set_time_limit(10);

$commonPRotocol = getprotobyname("tcp");
$socket = socket_create(AF_INET, SOCK_STREAM, $commonProtocol);
if ($socket) {
$result = socket_bind($socket, 'localhost', 1337);
if ($result) {
   $result = socket_listen($socket, 5);
   if ($result) {
    echo "监听成功";
   }
}
}else{
echo "监听失败";
}

do {
if (($msgsock = socket_accept($socket))) { /* 发送提示信息给连接上来的用户 */
   $msg = "==========================================\r\n" .
   "Welcome to the PHP Test Server. \r\n\r\n" .
   "To quit, type 'quit'. \r\n" .
   "To shut down the server type 'shutdown'.\r\n" .
   "To get help message type 'help'.\r\n" .
   "==========================================\r\n" .
   "php>";
}

socket_write($msgsock, $msg, strlen($msg));

do {
   $buf = socket_read($msgsock, 2048, PHP_BINARY_READ);

   if (false === $buf) {
    echo "socket_read() failed: reason: " . socket_strerror($result) . "\n";
    break 2;
   }
   if (!$buf = trim($buf)) {
    continue;
   } /* 客户端输入quit命令时候关闭客户端连接 */
   if ($buf == 'q') {
    break;
   } /* 客户端输入shutdown命令时候服务端和客户端都关闭 */
   if ($buf == 'shutdown') {
    socket_close($msgsock);
    break 2;
   } /* 客户端输入help命令时候输出帮助信息 */
   if ($buf == 'h') {
    $msg = " PHP Server Help Message \r\n\r\n" .
    " To quit, type 'quit'. \r\n" .
    " To shut down the server type 'shutdown'.\r\n" .
    " To get help message type 'help'.\r\n" .
    "php> ";
    socket_write($msgsock, $msg, strlen($msg));
    continue;
   } /* 客户端输入命令不存在时提示信息 */
   $talkback = "PHP: unknow command '$buf'.\r\nphp> ";
   socket_write($msgsock, $talkback, strlen($talkback));
   echo "$buf\n";
} while (true);
socket_close($msgsock);
}while (true);
/* 关闭Socket连接 */
socket_close($socket);
?>

分享到:
评论

相关推荐

    php_socket基础编程

    这段代码展示了如何创建一个基于 TCP 的 Socket,并将其绑定到本地主机的 1337 端口上,然后开始监听该端口。 - **获取协议**:`$commonProtocol = getprotobyname("tcp");` 通过名称获取 TCP 协议。 - **创建 ...

    php socket聊天室

    在“php socket聊天室”的场景中,服务器端通常会维护一个Socket监听连接,当新的客户端连接进来时,会为每个客户端创建一个新的Socket用于通信。聊天室的数据传输通常基于文本格式,如JSON或自定义的协议,以包含...

    php socket编程实例详解

    - **连接服务器**:使用`socket_connect()`函数尝试连接到服务器的指定地址和端口。 - **发送数据**:使用`socket_write()`函数向服务器发送数据。 - **接收数据**:使用`socket_read()`函数从服务器接收数据。 - **...

    用php实现socket

    - **绑定地址与端口**:使用`socket_bind()`函数将Socket绑定到特定的IP地址和端口上,这样服务器就能在指定的网络位置被找到。 - **开始监听**:使用`socket_listen()`函数设置服务器进入监听模式,等待客户端的...

    PHP用SOCKET实现客户端与服务器端通信

    2. 绑定地址和端口:`socket_bind`函数将SOCKET绑定到特定的IP地址和端口号上,以便接收连接请求。 ```php socket_bind($server_socket, '127.0.0.1', 12345); ``` 3. 监听连接:使用`socket_listen`函数开启监听...

    socket-php文件分段上传

    这些文件可能包括服务器端的Socket监听脚本、客户端的JavaScript文件、以及可能的配置或示例文件。通过分析这些代码,你可以深入了解如何在实际项目中应用Socket和PHP进行文件分段上传。 总之,“socket-php文件...

    php_socket客户端and服务器端定义.pdf

    2. **绑定Socket到端口**:`socket_bind`函数将创建的Socket绑定到指定的IP地址($host)和端口号($port),确保服务器能监听特定的网络端口。 3. **设置超时时间**:`set_time_limit(0)`意味着脚本不会因为超时而...

    运行php socket

    在IT领域,PHP Socket编程是一种常见且强大的技术,它允许PHP程序与服务器进行低级别的通信,比如创建TCP/IP连接、监听网络端口等。本文将深入探讨“运行PHP Socket”这一主题,涵盖其基本概念、用途、实现方法以及...

    php5 实现socket 通信

    - `socket_listen($socket)` 开始监听绑定的地址和端口,等待客户端连接。 #### 三、服务器端接收连接与数据处理 1. **接受客户端连接:** ```php $connection = socket_accept($socket); printf("Socket ...

    HP用SOCKET实现(客户端---服务端)

    为了测试这一通信机制,可以在命令行界面中先启动服务器脚本`server.php`,使服务器处于监听状态。随后,在另一个命令行窗口中启动客户端脚本`client.php`,客户端将尝试连接到服务器,并根据预设的命令与服务器进行...

    用php的socket跟flash的socket通信

    当 Flash Player 尝试与 PHP 服务器建立 Socket 连接时,需要确保 PHP 服务器能够正确响应 `policy-file-request` 请求,并返回一个有效的 `cross-domain.xml` 文件。 - **处理 `policy-file-request`**: - 在 ...

    PHP的Socket通信

    - **Web服务器**:服务器监听特定端口接收客户端的HTTP请求。 - **即时通讯**:客户端之间通过Socket进行实时消息传递。 - **游戏服务器**:处理玩家之间的实时交互。 - **远程控制**:允许一台计算机控制另一台...

    php_socket客户端and服务器端[文].pdf

    接着,通过`socket_bind()`将Socket绑定到端口,并使用`socket_listen()`设置监听模式,最多可等待三个连接请求。一旦有新的连接,`socket_accept()`会接收这个连接,并通过`socket_read()`获取客户端发送的数据。...

    基于PHP的Workerman 高性能的PHP socket 服务器框架.zip

    - 它包含Worker类,每个Worker实例可以监听一个端口,处理相应的网络请求。 - 工作进程(Worker)和任务进程(TaskWorker)分离,提高了服务的可扩展性和稳定性。 3. **高性能特性** - 多进程模型:Workerman...

    PHP和SOCKET

    下面是一个简单的PHP Socket服务器端示例代码,用于接收客户端的连接请求并与其进行通信。 ```php &lt;?php // 获取协议常量 $commonProtocol = getprotobyname('tcp'); // 创建Socket $socket = socket_create(AF_...

    socket-php文件分段上传(带进度条)(0分资源)

    在文件分段上传中,服务器端需要监听一个端口,接收来自客户端的数据,而客户端则通过Socket连接发送数据。 **分段上传** 文件分段上传是将大文件分成多个小块,逐个发送到服务器的过程。这种方式的优点在于可以...

    简单的php —— socket 编程

    `socket_bind()`函数将socket与本地地址和端口关联,为服务监听做好准备。例如,你可以绑定到“0.0.0.0”地址和任意端口,表示监听所有网络接口。 3. **监听socket**: 对于服务器端,使用`socket_listen()`设置...

    php_socket实例

    通过调用`socket_listen()`,服务器开始监听该端口上的连接请求。每当有新的连接请求时,`socket_accept()`会返回一个新的套接字用于与客户端进行通信。服务器与客户端之间的数据交换通常是通过`socket_read()`和`...

    PHP Socket开发基础

    服务器端持续监听特定端口,等待客户端发起连接请求。一旦连接建立,双方就可以通过这个socket进行双向通信。 创建一个Socket需要指定三个关键参数: 1. **协议**:决定了数据如何在网络中传输。PHP中的socket支持...

    PHP Socket Udp实时在线云消费机服务器端源码.rar

    服务器端将不断地监听这个端口,一旦有数据到达,就会执行相应的处理逻辑。由于UDP的不可靠性,开发者需要自己处理数据的丢失和重复。 描述中提到,这个示例只需要在现有的基础上增加数据库操作,就可以构建一个...

Global site tag (gtag.js) - Google Analytics