phpwebsocket怎么直接在socket连接上时返回数据

DaveLeeCN 2016-08-17 02:54:38
http://www.oschina.net/code/snippet_1029305_22256这是我找的demo,拷下来改完ip之后可以用,不过每次输入返回的都是undefined,不知道什么原因。
另外,我现在想直接在websocket连接上时返回数据,即
 if('in'==$type){
这个判断条件下返回数据,怎么做,求指导?
...全文
586 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
DaveLeeCN 2016-08-19
  • 打赏
  • 举报
回复
引用 3 楼 jam00 的回复:
那是因为,还没有握手成功,并且这个 in 的处理不是针对客户端的是针对服务端的 这样修改 在 websocket.class.php 添加这两行 if(!$this->users[$k]['hand']){//没有握手进行握手 $this->handshake($k,$buffer); $eventreturn = array('k'=>$k,'sign'=>$sign); $this->eventoutput('handsuccess',$eventreturn); } 在 server.php 加一个elseif }elseif('handsuccess'==$type){ //第一次握手成功 $websocket->write($event['sign'],'welcome'); }
OK,3Q
果酱很好吃 2016-08-18
  • 打赏
  • 举报
回复
那是因为,还没有握手成功,并且这个 in 的处理不是针对客户端的是针对服务端的 这样修改 在 websocket.class.php 添加这两行 if(!$this->users[$k]['hand']){//没有握手进行握手 $this->handshake($k,$buffer); $eventreturn = array('k'=>$k,'sign'=>$sign); $this->eventoutput('handsuccess',$eventreturn); } 在 server.php 加一个elseif }elseif('handsuccess'==$type){ //第一次握手成功 $websocket->write($event['sign'],'welcome'); }
DaveLeeCN 2016-08-17
  • 打赏
  • 举报
回复
引用 1 楼 jam00 的回复:
if('in'==$type){ $websocket->write($event['sign'],'welcome'); }
Warning: socket_write(): unable to write to socket [10057]: 由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接 字时)没有提供地址,发送或接收数据的请求没有被接受。
 in D:\wamp\www\Test\php\websocket.class.php on line 179

Call Stack:
    0.0004     133992   1. {main}() D:\wamp\www\Test\php\server.php:0
    0.0025     172376   2. websocket->run() D:\wamp\www\Test\php\server.php:13
    2.4283     173608   3. websocket->eventoutput() D:\wamp\www\Test\php\websocket.class.php:83
    2.4283     173640   4. call_user_func:{D:\wamp\www\Test\php\websocket.class.php:182}() D:\wamp\www\Test\php\websocket.class.php:182
    2.4284     173704   5. WSevent() D:\wamp\www\Test\php\websocket.class.php:182
    2.4288     173840   6. websocket->write() D:\wamp\www\Test\php\server.php:19
    2.4295     174024   7. socket_write() D:\wamp\www\Test\php\websocket.class.php:179
报错,我之前试过,前端onopen事件中我也加入参数试着接受过,同样是这个错,我才感觉是这的问题
果酱很好吃 2016-08-17
  • 打赏
  • 举报
回复
if('in'==$type){ $websocket->write($event['sign'],'welcome'); }

20,398

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧