socket_send()函数发送到这个websocket服务,发送过去收不到,怎么兼容

六卖神贱

搭了个websocket服务,js客户端链接通讯没问题,但是我后台要php写一个推送,用socket_send()函数发送到这个websocket服务,发送过去收不到,发送过去直接close

有人说是因为wokman服务只能接收websocket协议内容,socket_send()函数发送的是tcp协议的,需要改TcpConnection.php文件621行的接收数据包代码,
有老司机知道怎么改不,参考链接:https://blog.csdn.net/qq_38421226/article/details/83627986
 
yo
d k
asdf 
 
 
jadfjkjkjadskfjkjdalfj

 

7252 3 1
3个回答

six

谁说workerman只能接收websocket协议的内容?workerman支持各种协议,mqtt http tcp udp 等自定义的都可以。
但是话说回来,各种协议间不是兼容的,服务端是websocket协议,客户端像你这样直接用tcp是连不上的。
你直接用tcp连,那workerman那得设置成tcp协议才行。 反过来如果你用websocket协议连,workerman得是websocket协议才能行。tcp连websocket或者websocket去连tcp都不行的

六卖神贱

嗯嗯,我知道,我现在的需求是用php发一个websocket会话到workman,workman接收到在去通知前端,现在是我发过去,workman接收报错,因为服务是websocket,我用socket_send()函数发送的是纯tcp的,现在就 两个方向,1、用socket_send()造一个websocket,2、在workman接收时,在那个input那里接收buffer时进行兼容
我对socket这块不熟,都不知道怎么改

  • 暂无评论
yongdao35

你这个找个php的websocket库就完事了。
https://github.com/search?utf8=%E2%9C%93undefinedq=websocket+client+phpundefinedtype=  
搜下一大把

  • 暂无评论
年代过于久远,无法发表回答
×
🔝