• 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);
     
  • 相关阅读:
    Codeforces Round #513解题报告(A~E)By cellur925
    Luogu P1463 [POI2002][HAOI2007]反素数【数论/dfs】By cellur925
    NOIp2016 蚯蚓 【二叉堆/答案单调性】By cellur925
    Luogu P4139 上帝与集合的正确用法【扩展欧拉定理】By cellur925
    hdu 4704 Sum【组合数学/费马小定理/大数取模】By cellur925
    poj 1723 Soldiers【中位数】By cellur925
    MyBatis 简介
    对象导航查询和OID查询(补)
    Hibernate查询方式(补)
    Hibernate一级缓存(补)
  • 原文地址:https://www.cnblogs.com/mashil/p/6418391.html
Copyright © 2020-2023  润新知