美文网首页
让我们的socket服务拥有简单的html访问功能(浏览器访问)

让我们的socket服务拥有简单的html访问功能(浏览器访问)

作者: 在路上phper | 来源:发表于2018-01-30 09:56 被阅读24次

    上一节我们做了一个非常简单的socket服务,我们的浏览器可以直接访问我们的服务端 并且我们输出一段非常简单的字符串
    并且简单的触碰了http协议 通过一个简单的http协议发送 我们可以得到浏览器连接服务端的时候发送的请求信息


    image.png
    image.png

    这一节我们实现上面第二个功能 在浏览器敲入ip地址 加上路径 只要服务端存在这个路径或者文件 就可以访问到服务端具体的文件
    思路如下


    image.png
    首先取出浏览器发送的请求信息内容(可以通过截取字符串的方式)
    第一步 取出访问路径 和服务端文件和文件夹进行比对 如果存在 则读取出来 输出给客户端
    我们先运行一下上一节的代码 并在浏览器后面加入文件名
    如下
    image.png

    运行控制台结果


    image.png
    可以看见从根目录下面加入了index.html
    同理我们还可以加入目录层级
    如下
    image.png
    运行结果
    image.png
    可以看见我们浏览器输入有层级的目录及文件 控制台输出的请求信息也会输出有层级的内容
    因此我们可以把请求信息通过字符串截取的方式 将路径取出
    接下来我们引入正则表达式
    image.png
    下面我们修改一下Requester代码
    image.png
    接下来需要写一段输出代码 假设输出是index.html 这时候需要在一个特定的文件夹

    由于我们暂时没有使用灵活的配置 所以现在resource目录下创建 模拟tomcat的方式
    目录如下


    image.png
    接下来就需要用到Response将内容读取出来并调用writehtml将内容发送出去就可以了
    image.png
    接下来演示下调用代码ServerClient
    image.png
    运行结果
    image.png
    出现乱码 这时编译生成在target下面 有webapps目录了
    修改下面的html代码
    image.png
    image.png
    刷新页面
    image.png
    接下来我们访问abc.html
    image.png
    出现了我们在程序中写死的404了
    这时我们在target编译生成的目录下面新建一个abc.html
    image.png
    里面随便输入内容
    再次刷新浏览器可以看见能够读取到内容(以后可以类似这种方法做缓存的功能)
    image.png
    接下来在target下面创建一个文件夹user里面放入list.html
    image.png
    里面写入内容
    用浏览器访问
    image.png
    可以看见只要存在就能够访问的到

    相关文章

      网友评论

          本文标题:让我们的socket服务拥有简单的html访问功能(浏览器访问)

          本文链接:https://www.haomeiwen.com/subject/ljpqzxtx.html