`
sxysxy
  • 浏览: 216128 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

PHP+SOCKET例子

PHP 
阅读更多
// Client 
// 设置错误处理
error_reporting (E_ALL);
// 设置处理时间
set_time_limit (0);

$ip = "";       // IP 地址
$port = 1000;            // 端口号

$socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP);   // 创建一个SOCKET
if ($socket)
    echo "socket_create() 成功!<br>\n";
else
    echo "socket_create() 失败:".socket_strerror ($socket)."<br>\n";

$conn = socket_connect ($socket, $ip, $port);       // 建立SOCKET的连接
if ($conn)
    echo "成功连接到[".$ip.":".$port."]<br>\n";
else
    echo "socket_connect() 失败:".socket_strerror ($conn)."<br>\n";

echo socket_read ($socket, 1024)."<br>";

$stdin = fopen ('php://stdin', 'r');

$ar = array("HELLO","HELP","test","QUIT");
$i = 0;

while (true)
{
//    $command = trim (fgets ($stdin, 1024));
//    socket_write ($socket, $command, strlen ($command));
echo "发送 $ar[$i]<br>";
    socket_write ($socket, $ar[$i], strlen($ar[$i]));
$i++;
    $msg = trim (socket_read ($socket, 1024));
    echo "收到:$msg<br>\n";
    if ($msg == "Bye-Bye")
        break;
}
fclose ($stdin);
socket_close ($socket);

 

 

 

 

 

 

 

 

======================================

 

 

// Server
// 设置错误处理
error_reporting (E_ALL);
// 设置运行时间
set_time_limit (0);
// 起用缓冲
ob_implicit_flush ();
$ip = "";        // IP地址
$port = 1000;             // 端口号

$socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP);       // 创建一个SOCKET
if ($socket)
    echo "socket_create() successed!\n";
else
    echo "socket_create() failed:".socket_strerror ($socket)."\n";

$bind = socket_bind ($socket, $ip, $port);              // 绑定一个SOCKET
if ($bind)
    echo "socket_bind() successed!\n";
else
    echo "socket_bind() failed:".socket_strerror ($bind)."\n";

$listen = socket_listen ($socket);                 // 间听SOCKET
if ($listen)
    echo "socket_listen() successed!\n";
else
    echo "socket_listen() failed:".socket_strerror ($listen)."\n";

while (true)
{
    $msg = socket_accept ($socket);               // 接受一个SOCKET
    if (!$msg)
    {
        echo "socket_accept() failed:".socket_strerror ($msg)."\n";
        break;
    }
    $welcome = "服务端收到:Welcome to PHP Server!\n";
    socket_write ($msg, $welcome, strlen ($welcome));
    while (true)
    {
        $command = strtoupper (trim (socket_read ($msg, 1024)));
        if (!$command)
            break;
        switch ($command)
        {
            case "HELLO":
                $writer = "Hello Everybody!";
                break;
            case "QUIT":
                $writer = "Bye-Bye";
                break;
            case "HELP":
                $writer = "HELLO\tQUIT\tHELP";
                break;
            default:
                $writer = "Error Command!";
        }
        socket_write ($msg, $writer, strlen ($writer));
        if ($command == "QUIT")
            break;
    }
    socket_close ($msg);
    if ($command == "QUIT")
        break;
}

socket_close ($socket);                   // 关闭SOCKET

 

 

分享到:
评论

相关推荐

    nodejs+express+socket.io+excel-export实现年会HTML5/H5摇一摇小游戏比赛完整demo/例子及导出excel获奖名单

    马上要年会了,有个什么总突然...nodejs express(ejs模板引擎) socket.io excel-export shake.js 年会摇一摇H5小游戏完整demo,有截图,可先去看看截图 https://blog.csdn.net/qq_38652871/article/details/103424198

    delphi socket call php socket 例子

    delphi socket call php socket 例子,可根据需要扩展写成聊天室、网站助理类似淘宝助理,有订单提醒。 &lt;?php //确保在连接客户端时不会超时 set_time_limit(0); $port = 10081 ; $ip = '192.168.1.102'; // ...

    基于Node.js+socket.io+express做的简单的web在线聊天例子-WebTalk.zip

    包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】...

    php的socket编程例子

    1. 包含两个例子本人在comsenseEXP上运行过木有问题。 2. 例子syn是采用阻塞模式做的 3. 例子select是采用select(非阻塞模式)做的。 运行方法: a.安装comsenseEXP,配置windows上php环境变量(目的是使得win...

    php Socket例子

    包含客户端和服务端的一个php socket例子。 转载自网络。自己测试成功。 服务端请在命令行下运行。

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

    HP用SOCKET实现(客户端---服务端)通信.doc

    phpsocket.io:基于workermanPHP中socket.io的服务器端替代实现

    phpsocket.io 基于PHP中服务器端替代实现。注意仅支持socket.io v1.3.0或更高版本。 该项目仅由翻译socket.io。 有关更多API,请参见安装作曲家需要workerman / phpsocket.io例子简单聊天start.php use Workerman \ ...

    【已测源码】PHP全新UI桔子支付跑份码商网站源码带搭建文字教程

    安装搭建教程+环境 ...php ./socket.php start -d 切换到daemon目录下: cd /您搭建网站的目录/daemon 例子:【cd /www/wwwroot/你的目录/daemon】 php ./watch.php start 后台地址:/ht.php 后台账户:admin

    浅析PHP Socket技术

    phpsocketSocket位于TCP/IP协议的传输控制协议,提供客户-服务器模式的异步通信,即客户向服务器发出服务请求,服务器接收到请求后,提供相应的反馈或服务!我练习了一个最基本的例子: 使用并发起一个阻塞式(block...

    php中socket通信机制实例详解

    本文实例讲述了php中socket通信机制及用法。分享给大家供大家参考。具体分析如下: 一、socket是什么 什么是socket 所谓socket通常也称作”套接字”,用于描述ip地址和端口,是一个通信链的句柄。应用程序通常通过”...

    socket-io-redis-emitter:socket.io redis适配器

    Java: : Python: : PHP: : Golang: : Perl: ://metacpan.org/pod/SocketIO :: 锈: : :bookmark_tabs: 表中的内容 :green_book: 建筑学 :person_running: 入门Gradle导入散发备忘单例子包含一个有效的...

    [易语言]PHP网络验证【二版】(几时)

    1.安装 上传源码到网站目录,设置网站目录为源码二级目录public,很多虚拟主机不支持此...调用例子群文件获取,官网对接看这里 必须要开启Workerman 心跳处理,2种心跳方式,一种web定时心跳,一种socket主动发送

    php中使用websocket详解

    在PHP中,开发者需要考虑的东西比较多,从socket的连接、建立、绑定、监听等都需要开发者自己去操作完成,对于初学者来说,难度方面也挺大的,所以本文的思路如下: 1、socket协议的简介 2、介绍client与server之间...

    PHP-DNS-SERVER:完全用PHP编写的权威DNS服务器

    需要sockets或socket_create PHP扩展加载(默认情况下为它们) 例子 这是DNS服务器用法的示例: require_once __DIR__. '/../vendor/autoload.php' ; // JsonResolver created and provided with path to file ...

    up_178600_php-handelrsocket_hthwt.rar

    php脚本语言实现,php-handelrsocket是一个对mysql的socket的一个扩展程序,包含相应的php的测试代码以及相关的测试的例子程序代码,初学者不错的参考例子程序

    up_632667_php-handelrsocket_q248j.rar

    利用php实现,php-handelrsocket是一个对mysql的socket的一个扩展程序,包含相应的php的测试代码以及相关的测试的例子程序代码,作为开发的各种例子程序代码

    up_1225423_php-handelrsocket_vi9d44.rar

    利用php实现,php-handelrsocket是一个对mysql的socket的一个扩展程序,包含相应的php的测试代码以及相关的测试的例子程序代码,初学者不错的参考例子程序

    up_445564_php-handelrsocket_ckkhhb.rar

    源码采用php实现,php-handelrsocket是一个对mysql的socket的一个扩展程序,包含相应的php的测试代码以及相关的测试的例子程序代码,作为开发的各种例子程序代码

    新版php获取MSN好友列表 (2011-08-18)

    * 支持socket、ssl、curl、mcrypt、mhash,开启php.ini文件中的以下地方 * * ;extension=php_sockets.dll * * ;extension=...

    up_410007_php-handelrsocket_wsd23.rar

    采用php的源码实现,php-handelrsocket是一个对mysql的socket的一个扩展程序,包含相应的php的测试代码以及相关的测试的例子程序代码,手头参考的例子程序代码

Global site tag (gtag.js) - Google Analytics