zoukankan      html  css  js  c++  java
  • SOCKET,php实例

     

     

    网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。
    Socket的英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制,取后一种意思。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原意那样,像一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编号的插座,就可以得到不同的服务。
    PHP有强大的Socket操作能力,它的处理方式更接近于C,但是没有C的繁琐。可以看作是对C操作的Socket的一个封装。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    开启一个socket监听示例程序:
    <?php//设置一些基本的变量
    $host="192.168.1.99";
    $port=1234;//设置超时时间
    set_time_limit(0);
    //创建一个Socket
    $socket=socket_create(AF_INET,SOCK_STREAM,0)ordie("Couldnotcreatesocket ");//绑定Socket到端口
    $result=socket_bind($socket,$host,$port)ordie("Couldnotbindtosocket ");//开始监听链接
    $result=socket_listen($socket,3)ordie("Couldnotsetupsocketlistener ");//acceptincomingconnections
    //另一个Socket来处理通信
    $spawn=socket_accept($socket)ordie("Couldnotacceptincomingconnection ");//获得客户端的输入
    $input=socket_read($spawn,1024)ordie("Couldnotreadinput ");//清空输入字符串
    $input=trim($input);//处理客户端输入并返回结果
    $output=strrev($input)." ";
    socket_write($spawn,$output,strlen($output))ordie("Couldnotwriteoutput ");//关闭
    socketssocket_close($spawn);
    socket_close($socket);
     
  • 相关阅读:
    JavaScript 为字符串添加样式 【每日一段代码80】
    JavaScript replace()方法 【每日一段代码83】
    JavaScript for in 遍历数组 【每日一段代码89】
    JavaScript 创建用于对象的模板【每日一段代码78】
    html5 css3 新元素简单页面布局
    JavaScript Array() 数组 【每日一段代码88】
    JavaScript toUTCString() 方法 【每日一段代码86】
    位运算
    POJ 3259 Wormholes
    POJ 3169 Layout
  • 原文地址:https://www.cnblogs.com/mashil/p/6418391.html
Copyright © 2011-2022 走看看