$worker->onMessage事件没有触发,收到的数据必须是\n结束吗?没有\n是否可以触发

shiwenlong

$worker->onMessage事件没有触发,收到的数据必须是\n结束吗?没有\n是否可以触发

我从一个类似单片机的板子上接收到的socket数据,结尾不是以\n结束的,所以没有出发$worker->onMessage事件,这个有定义吗?以什么结束才触发$worker->onMessage事件

3439 1 0
1个回答

walkor

客户端发的数据要符合服务端的通讯协议才能触发服务端的onMessage。

如果是裸socket,服务端协议改成tcp就可以通讯了。但是正式上线时需要加一层通讯协议,否则会有粘包的情况。
通讯协议参见手册 :
http://doc3.workerman.net/protocols/why-protocols.html
http://doc3.workerman.net/protocols/how-protocols.html
http://doc3.workerman.net/protocols/example.html

如果是硬件通讯,建议用http://doc3.workerman.net/appendices/about-frame.html,使用简单,可以传输任何数据,包括二进制数据。
如果传输的都是文本,也可以尝试http://doc3.workerman.net/appendices/about-text.html,使用起来更简单。

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