国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

發(fā)送過(guò)來(lái)數(shù)據(jù)是十六進(jìn)制的,workerman不能識(shí)別0x00,遇到就結(jié)束接收了

dq1601

發(fā)送過(guò)來(lái)數(shù)據(jù)是十六進(jìn)制的,workerman不能識(shí)別0x00,遇到就結(jié)束接收了,用bin2hex,但是我用了還是不行,因?yàn)?$message根本就不完整,0x00及后面的數(shù)據(jù)都丟失了。那位大蝦可以指點(diǎn)一二。不想用Base64等加密方法,就是想知道workerman到底能不能做到完美支持十六進(jìn)制的透?jìng)?,還是這本身就是一個(gè)BUG。

2658 4 0
4個(gè)回答

phpcreeper

首先肯定不是BUG,然后這也是一個(gè)被問(wèn)爛了的問(wèn)題,裸tcp協(xié)議是基于字節(jié)流的本來(lái)就如此,簡(jiǎn)單說(shuō)就是會(huì)有粘包發(fā)生,需要制定應(yīng)用層通訊協(xié)議,具體看手冊(cè)吧: http://doc.workerman.net/protocols/why-protocols.html

  • 暫無(wú)評(píng)論
xiuwang

服務(wù)端

<?php
require_once __DIR__ . '/vendor/autoload.php';
use Workerman\Worker;

$worker = new Worker('tcp://0.0.0.0:1238');

$worker->onMessage = function($connection, $data) {
    $connection->send($data);
};

Worker::runAll();

測(cè)試結(jié)果:
截圖

客戶(hù)端發(fā)送完整,workeman接收完整,workerman發(fā)送完整,客戶(hù)端接收完整。
估計(jì)是你代碼bug了

  • 暫無(wú)評(píng)論
qufucl

發(fā)上來(lái)看看你的解包協(xié)議?

  • 暫無(wú)評(píng)論
dq1601

謝謝各位,已經(jīng)解決了,是因?yàn)榘^數(shù)據(jù)長(zhǎng)度錯(cuò)了,改過(guò)來(lái)就正常了

  • 暫無(wú)評(píng)論
年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??