aardio 官方社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 11150|回复: 2

使用hpsocket库时hpHttpServer.getAllHeaders(connId);返回null

[复制链接]

16

主题

84

回帖

657

积分

三级会员

积分
657
发表于 2017-10-31 16:33:34 | 显示全部楼层 |阅读模式
使用hpsocket库时hpHttpServer.getAllHeaders(connId);返回null,代码如下:

  1. import console;
  2. import hpsocket;
  3. import hpsocket.httpServer;

  4. console.open();

  5. var server = hpsocket.httpServer();

  6. server.onHandShake = function(hpHttpServer,connId,pClient){
  7.         console.log("onHandShake");
  8.         console.log(hpHttpServer.getAllHeaders(connId));
  9. }

  10. server.start(,8088);

  11. console.log(server.getWsUrl());

  12. var num = console.getNumber( "pause" )
  13. console.pause(true);
复制代码


使用在线测试工具:http://www.blue-zero.com/WebSocket/总是:等待服务器握手包...
我无法得到客服端的header就没有办法构造应答的握手包:
hpHttpServer.sendSwitchingProtocols(connId,{
                        ["Connection"] = "Upgrade";
                        ["Upgrade"] = "websocket";
                        ["Sec-WebSocket-Accept"] = hpHttpServer.getWsSecAccept(connId);
                        ["Sec-WebSocket-Protocol"] = hpHttpServer.getWsSecProtocol(connId)[1];
                       
                } );

166

主题

2154

回帖

1万

积分

管理员

积分
13056
发表于 2017-10-31 17:43:10 | 显示全部楼层
关于扩展库涉及的第三方组件,请首先使用该组件的帮助文档尝试解决问题,
因为一些第三方组件虽然我写了封装,但对他的用法并不熟悉。

关于你写的这个例子,有明显的低级错误,
你还在握手,对方还没发送数据,你就要读他的所有请求头,这怎么可能读得出来。

hpsocket的范例里我提供了怎么实现WebSocket服务端的例子,按例子去写。

16

主题

84

回帖

657

积分

三级会员

积分
657
 楼主| 发表于 2017-11-1 08:57:14 | 显示全部楼层
Jacen.He 发表于 2017-10-31 17:43
关于扩展库涉及的第三方组件,请首先使用该组件的帮助文档尝试解决问题,
因为一些第三方组件虽然我写了封 ...

谢谢管理回复,谢谢

0

主题

0

回帖

0

积分

新手入门

积分
0
发表于 2017-11-23 13:07:09
hpsocket的范例在哪里能找到?

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2025-1-20 18:33 , Processed in 0.057742 second(s), 22 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表