$worker->onMessage事件没有触发,收到的数据必须是\n结束吗?没有\n是否可以触发
我从一个类似单片机的板子上接收到的socket数据,结尾不是以\n结束的,所以没有出发$worker->onMessage事件,这个有定义吗?以什么结束才触发$worker->onMessage事件
客户端发的数据要符合服务端的通讯协议才能触发服务端的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,使用起来更简单。
客户端发的数据要符合服务端的通讯协议才能触发服务端的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,使用起来更简单。