会员中心
文档开源框架

时间:2019-12-14 23:11:24  来源:  作者:管理员

PHP Desktop 旨在提供使用 PHP、HTML5、JavaScript 和 SQLite 等 Web 技术开发原生桌面 GUI 应用程序的方法。它可以轻松地将 PHP Web 应用程序和 PHP CLI 工具转换为桌面应用程序。

在某种意义上,PHP Desktop 可充当 PHP-EXE 编译器

#include <iostream>
#include <string>
#include <unordered_map>
#include <csignal>
#include "server.h"
#include "log.h"
#include <boost/asio.hpp> 
#include <boost/bind.hpp>

void accept_handler(const boost::system::error_code& _ec);


boost::asio::io_service ios;
unsigned short port;
boost::asio::ip::tcp::acceptor* pacceptor;

boost::asio::ip::tcp::socket _socket(ios);
std::string netbuffer;


void write_handler(const boost::system::error_code &ec, std::size_t bytes_transferred) {
    _socket.close();
    log("[Info]", "server complete");
    pacceptor->async_accept(_socket, accept_handler);
}

void read_handler(const boost::system::error_code &ec, std::size_t bytes_transferred) {
    log("[Info]", "recv:" + netbuffer);
    std::string http_data = "HTTP/1.1 200 OK\r\nServer: loong\r\nContent-type: text/html\r\n\r\n" + netbuffer;
    log("[Info]", http_data);
    _socket.async_write_some(boost::asio::buffer(http_data), write_handler);
}


void accept_handler(const boost::system::error_code& _ec) {
    if (_ec) {
        log("[Error]", "server accept");
        return;
    }

    log("[Info]", _socket.remote_endpoint().address().to_string());
    _socket.async_read_some(boost::asio::buffer(netbuffer), read_handler);
}
————————————————
版权声明:本文为CSDN博主「KingOfMyHeart」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/KingOfMyHeart/article/details/100024350。

发表评论 共有 条评论
匿名发表
推荐资讯
文档开源框架
文档开源框架
相关文章
    无相关信息
栏目更新
栏目热门22222222
...

商务咨询

020-12345678

...

客服热线

020-12345678

友情链接