`
pengjun1128
  • 浏览: 16034 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

PHP socket 网络编程实例

    博客分类:
  • php
阅读更多
SERVER端
    <?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)."<br>";   
    }   
      
    //开始监听   
    if(($ret=socket_listen($sock,4))<0)   
    {   
    echo "socket_listen() 失败的原因是:".socket_strerror($ret)."<br>";   
    }   
      
    do {   
    if (($msgsock = socket_accept($sock)) < 0)   
    {   
    echo "socket_accept() failed: reason: " . socket_strerror($msgsock) . "/n";   
    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) . "/n";  
         }  
         else  
         {  
          echo "发送成功";  
         }*/  
      
      
    //echo $buf;   
    socket_close($msgsock);   
    } while (true);   
      
    socket_close($sock);   
    ?>  



CLIENT端

    <?php   
    error_reporting(E_ALL);   
    set_time_limit(0);   
    echo "<h2>TCP/IP Connection</h2>/n";   
      
    $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) . "/n";   
    }   
    else  
    {   
    echo "OK./n";   
    }   
      
    echo "试图连接 '$address' 端口 '$service_port'...<br>";   
    $result = socket_connect($socket, $address, $service_port);   
    if ($result < 0)   
    {   
    echo "socket_connect() failed./nReason: ($result) " . socket_strerror($result) . "/n";   
    }   
    else  
    {   
    echo "连接OK<br>";   
    }   
      
    $in = "Hello/r/n";   
    $in .= "我是Chester/r/n";   
    $out = '';   
    $out1='';   
      
      
    if(!socket_write($socket, $in, strlen($in)))   
    {   
    echo "socket_write() failed: reason: " . socket_strerror($socket) . "/n";   
    }   
    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>";   
    ?>  

先运行server.php                   再运行client.php
分享到:
评论

相关推荐

    php socket编程实例详解

    server/client通信实例 博文链接:https://purpen.iteye.com/blog/770712

    PHP网络编程技术与实践 源码

    第10章 使用Socket编程 10.1 Socket基础 10.2 Socket功能函数 10.3 一个简单的TCP/IP服务器端和客户端实例讲解 10.4 本章小结 第11章 用户登录注册模块 11.1 数据库设计 11.2 最基本的注册模块 11.2.1 页面效果 ...

    php使用socket编程示例

    主要介绍了php使用socket编程的示例,大家参考使用吧

    深入浅出php socket编程

    主要介绍了深入浅出php socket编程,本文详细的讲解了socket的相关知识、PHP socket的编程实例行装内容,需要的朋友可以参考下

    基于php socket(fsockopen)的应用实例分析

    fsockopen是对socket客户端代码的封装,该函数中封装了socket_create,socket_connect。服务器端代码:server.php复制代码 代码如下:&lt;?phperror_reporting(E_ALL);set_time_limit(0);$address = ‘127.0.0.1’;$...

    PHP向socket服务器收发数据的方法

    本文实例讲述了PHP向socket服务器收发数据的方法。分享给大家供大家参考。具体如下: 在PHP要向其它程序发送数据,则需要使用到php的socket功能来实例了,下面我们简单看一个实例,代码如下: 复制代码 代码如下:/*...

    深入php socket的讲解与实例分析

    在这一章里你将了解到迷人而又让人容易糊涂的套接字...◆ Socket 基础PHP使用Berkley的socket库来创建它的连接。你可以知道socket只不过是一个数据结构。你使用这个socket数据结构去开始一个客户端和服务器之间的会话

    php socket通信(tcp/udp)实例分析

    本文实例讲述了php socket通信(tcp/udp)方法。分享给大家供大家参考,具体如下: 注意 1.在socket_bind的时候ip地址不能真回环地址如127.0.0.1 2.server.php后台跑起来的时候nohup php server.php &gt; /var/tmp/a.log ...

    php 利用socket发送GET,POST请求的实例代码

    作为php程序员一定会接触http协议,也只有深入了解http协议,编程水平才会更进一步。最近我一直在学习php的关于http的编程,许多东西恍然大悟,受益匪浅。希望分享给大家。本文需要有一定http基础的开发者阅读。  ...

    PHP程序开发范例宝典III

    实例013 Linux下实现PHP支持Socket 20 实例014 Linux下实现PHP支持mysqli扩展技术 21 实例015 开机自动启动Apache服务 21 实例016 开机自动启动MySQL服务 22 实例017 Linux下发布“读者之家”网站 22 1.3...

    PHP基于socket实现的简单客户端和服务端通讯功能示例

    本文实例讲述了PHP基于socket实现的简单客户端和服务端通讯功能。分享给大家供大家参考,具体如下: 服务器端: &lt;?php set_time_limit(0); $host=localhost; $port=1001; //创建一个连接 $socket=socket_...

    PHP高级编程实例:编写守护进程

    很多程序以服务形式存在,他没有终端或UI交互,它可能采用其他方式与其他程序交互,如TCP/UDP Socket, UNIX Socket, fifo。程序一旦启动便进入后台,直到满足条件他便开始处理任务。 3.何时采用守护进程开发应用程序...

    用PHP的socket实现客户端到服务端的通信实例详解

    一、server.php服务端: &lt;?php error_reporting(E_ALL); set_time_limit(0); ob_implicit_flush();...//创建SOCKET ... echo "socket创建失败原因 " . socket_strerror($sock) . "\n"; } if (($ret = so

    PHP多进程之pcntl_fork的实例详解

    在使用这些方向的时候,我们可以使用到PHP的更多特性,例如并发(多进程)、socket编程等。 那么接下来就说说我遇到的PHP多进程的编程。这个多进程的使用是有一个背景的,下面模糊描述一下背景。 我需要一个监控系统...

    linux下开启php的sockets扩展支持实例

    在linux下给PHP安装socket扩展,参考方法如下: #cd /usr/soft/php/ext/sockets (进入原php安装文件下的sockets目录) #/usr/local/php/bin/phpize (运行安装后的php安装文件下的phpize) #./configure –prefix=/usr/...

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

    发射器还提供其他编程语言版本: Java: : Python: : PHP: : Golang: : Perl: ://metacpan.org/pod/SocketIO :: 锈: : :bookmark_tabs: 表中的内容 :green_book: 建筑学 :person_running: 入门Gradle...

    PHP编程实现的TCP服务端和客户端功能示例

    本文实例讲述了PHP编程实现的TCP服务端和客户端功能。分享给大家供大家参考,具体如下: 1、修改php.ini,打开extension=php_sockets.dll 2、服务端程序SocketServer.php &lt;?php //确保在连接客户端时不会超时 ...

    php和后台c 的通信.rar

    xmlrpc实现php和后台c 的通信 这里提供了一个开源的xmlrpc的包,可以实现php和c 的通信,提供多线程编程接口,省去了自己写socket的麻烦。 代码中包含一个实例:client端是php的,server端的c 的。

    php实现TCP端口检测的方法

    本文实例讲述了php实现TCP端口检测的方法。分享给大家供大家参考。具体如下: 该程序可以确认当前端口是否可用: &lt;?php class Health { public static $status; public function __construct() { } public ...

    php实现的ping端口函数实例

    主要介绍了php实现的ping端口函数,以实例形式较为详细的分析了PHP使用socket编程的技巧,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics