[PHP] 使用Socket提供Http服务

我的SimpleLoader里面的一块

https://github.com/taoshihan1991/simpleloader

<?php
namespace Server;

class Socket{
    const PORT=1024;
    public function create(){
        $socket=socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
        socket_bind($socket, "127.0.0.1",self::PORT);
        socket_listen($socket,4);
        echo "start http://127.0.0.1:1024\r\n";
        while(true) {
            $msgsock = socket_accept($socket);
             $buf = socket_read($msgsock,9024);
            if(preg_match("/\/(.*) HTTP\/1\.1/",$buf,$matchs)){
                if($matchs[1]!="favicon.ico"){
                    echo $buf;
                    $_SERVER[‘PATH_INFO‘]=$matchs[1] ? $matchs[1] : "Index/Index/index";
                    \SimpleLoader::router();
                    $html=\SimpleLoader::pathInfo();
                }
                socket_write($msgsock,$html);
            }else{
                socket_write($msgsock,"hello world");
            }
             socket_close($msgsock);
        }
        socket_close($socket);
    }
}

效果:

时间: 2024-08-06 03:41:31

[PHP] 使用Socket提供Http服务的相关文章

流程管理主页设计及为管理提供的服务

目 录 流程管理主页设计目标及展现内容 设计目标 展现内容 主页展现草图 为员工服务界面 为领导服务界面 为中层领导服务界面 我的办公桌面服务 主界面布局设计 开发目录结构 界面展现及开发技术 HTML CSS 界面框架 JS包 层次结构 菜单及权限管理 主要功能展示时序图描述 流程目录 关注流程 业务流程管理是从业务流程建立和规范.业务流程优化.业务流程再造三个层次发展起来的,目前,已经发展到业务流程再造阶段,也是本次办公业务流程系统升级改造的重点,在优化370个流程的基础上,再造流程. 本次

基于Socket创建Web服务

基于Socket创建Web服务 为什么要使用Socket呢,我们来看下图 Socket原理图回顾: -------------------编写SocketService,完成字母小写转大写功能----------------------------- ServerSocket服务器端代码如下: public static void main(String[] args) throws IOException { // 1:建立服务器端的tcp socket服务,必须监听一个端口 ServerSo

Spring能为我们提供什么服务

我:Spring现在好像挺流行 路人甲:恩恩!我开发过的项目都用到了它. 路人乙:为什么要用它呢?它提供三包服务吗? 路人甲:别人用它,老大说用它,就用他呗! 路人甲:三包,三包没有.不过我听说他能帮我们管理对象,6不6? 我:管理对象?我们new对象自己管理不是挺好的吗?想new就new,不用了还不要我们管,垃圾回收机制提供全套服务清理服务. 路人甲:貌似是这理~.~! 大牛甲:而在传统应用程序开发中,一个完整的应用是由一组相 互协作的对象组成.所以开发一个应用除了要开发业务逻辑之外,最多的是

第13章 使用Bind提供域名解析服务

章节简述: 本章节将让您理解DNS服务程序的原理,学习正向解析与反向解析实验,掌握DNS主服务器.从服务器.缓存服务器的部署方法. 够熟练配置区域信息文件与区域数据文件,以及通过使用分离解析技术让不同来源的用户得到更合适的解析结果. DNS服务作为互联网的基础设施,我们还可以配置BIND服务程序支持TSIG安全加密传输机制,从而保障解析数据不被嗅探监听. 本章目录结构 13.1 了解域名解析服务 13.2 安装Bind服务程序 13.3 DNS服务的解析实验 13.3.1 正向解析实验 13.3

Azure技术02-Azure提供的服务

微软Windows Azure公有云提供IaaS,PaaS,SaaS三个层面的服务,现在来看看http://www.windowsazure.cn网站上目前Azure提供的服务 后续我将就计算.数据.应用和网络4个大的方面来对Azure做分享,但是各功能模块中会有穿插,所以我也会有所调整先以计算机和网络为主,再以当前比较好用的一些亮点功能进行分享,当然这也和我本人研究重点有关系. 中国版Azure是由21V运营,登录地址是https://manage.windowsazure.cn 以下是Azu

提供RESTful服务

RESTful广泛运用于互联网服务,而在企业应用中,大部分场景仍然是RPC服务,这是由于企业应用的业务复杂性造成的.但是基于SOAP的RPC服务也存在很多的弊端,比如服务异步处理比较麻烦,大部分RPC服务仍然是阻塞性质的,即使在.net 4.5的今天,异步编程已经通过asyn/await极大简化的情况下.其中的原因也挺复杂的,有兴趣了解的可参考以下文章:http://blogs.msdn.com/b/pfxteam/archive/2012/03/24/10287244.aspx 简单得将以前的

云计算服务除了提供计算服务外

云计算服务除了提供计算服务外,还必然提供了存储服务.但是云计算服务当前垄断在私人机构(企业)手中,而他们仅仅能够提供商业信用.对于政府机构.商业机构(特别像银行这样持有敏感数据的商业机构)对于选择云计算服务应保持足够的警惕.一旦商业用户大规模使用私人机构提供的云计算服务,无论其技术优势有多强,都不可避免地让这些私人机构以"数据(信息)"的重要性挟制整个社会.对于信息社会而言,"信息"是至关重要的.另一方面,云计算中的数据对于数据所有者以外的其他用户云计算用户是保密的

使Docker提供对外服务的网络配置(桥接与端口)

前沿: docker 启动容器后,如何对外服务?   希望大家看了这篇文章后有些帮助. docker的有关网络问题没怎么搞清楚,请教了下邓磊同学,感谢 ! Docker生成的容器,一般会给你生成一个ip地址,这个ip地址是和docker0的地址是一个ip段的. 通过ip a命令 ,咱们可以看到docker0的ip和子网的范围 . 大家会发现除了docker0 还有一个vethc 数字的网卡,这个也算是虚拟网卡绑在桥接上的. 我们创建一个容器,并且暴露22端口. 这个22端口的意思是对外暴露了22

Nginx提供网站服务应用包括(虚拟主机、用户访问控制、用户验证、nginx平滑升级、防盗链)的配置

Nginx   开源且跨平台的软件    俄罗斯人开发的   提供网站服务  和  代理服务 Nginx 提供网站服务应用环境? 1.虚拟主机2.用户访问控制3.用户验证4.防盗链 实验环境: 安装软件:nginx-0.855.tar.gz 操作系统:centos6.5 实验:(一) 实验目的:nginx源码包的安装以及基本的使用. 安装源码包要安装的工具:开发工具 和开发环境 1.安装nginx源码包 建立ngix软件夹用来存放nginx软件包 添加一个进程的所有者和所属组为www,www为n