text протокол

Workerman একটি টেক্সট প্রোটোকল সংজ্ঞায়িত করেছে যাকে বলা হয় text, প্রোটোকল ফরম্যাট হল ডেটা প্যাকেট + নিউলাইন ক্যারেক্টার অর্থাৎ প্রতিটি ডেটা প্যাকেটের শেষে একটি নিউলাইন ক্যারেক্টার যুক্ত করে প্যাকেটের সমাপ্তি নির্দেশ করা হয়।

উদাহরণস্বরূপ, নীচের buffer1 এবং buffer2 স্ট্রিংগুলি text প্রোটোকল অনুযায়ী হয়:

// টেক্সটের সাথে একটি ক্যারেজ রিটার্ন যোগ করা
$buffer1 = 'abcdefghijklmn
';
// ফিলিপি'র মধ্যে ডবল উদ্ধৃতিতে \n একটি নিউলাইন ক্যারেক্টার প্রতিনিধিত্ব করে, যেমন "\n"
$buffer2 = '{"type":"say", "content":"hello"}'."\n";

// সার্ভারের সাথে সকেট সংযোগ স্থাপন করা
$client = stream_socket_client('tcp://127.0.0.1:5678');
// text প্রোটোকল ব্যবহার করে buffer1 ডেটা পাঠানো
fwrite($client, $buffer1);
// text প্রোটোকল ব্যবহার করে buffer2 ডেটা পাঠানো
fwrite($client, $buffer2);

text প্রোটোকল খুব সহজ এবং ব্যবহার করা সহজ, যদি ডেভেলপারদের একটি নিজস্ব প্রোটোকল প্রয়োজন হয়, যেমন মোবাইল অ্যাপের সাথে ডেটা স্থানান্তর করতে বা হার্ডওয়্যার সংযোগ করতে, তবে তারা text প্রোটোকল ব্যবহার করার কথাও ভাবতে পারে, উন্নয়ন এবং ডিবাগিংও খুব সুবিধাজনক।

text প্রোটোকল ডিবাগিং

text প্রোটোকলের ডিবাগিংয়ের জন্য telnet ক্লায়েন্ট ব্যবহার করা যেতে পারে, উদাহরণস্বরূপ নীচের উদাহরণ:

নতুন ফাইল তৈরি করুন test.php

require_once __DIR__ . '/Workerman/Autoloader.php';
use Workerman\Worker;

$text_worker = new Worker("text://0.0.0.0:5678");

$text_worker->onMessage =  function($connection, $data)
{
    var_dump($data);
    $connection->send("hello world");
};

Worker::runAll();

php test.php start চালানোর ফলে নিম্নলিখিত শো হবে

php test.php start
Workerman[test.php] DEBUG মোডে শুরু
----------------------- WORKERMAN -----------------------------
Workerman সংস্করণ:3.2.7          PHP সংস্করণ:5.4.37
------------------------ WORKERS -------------------------------
ব্যবহারকারী          কর্মী        শোনা                         প্রক্রিয়া স্থিতি
root          none          myTextProtocol://0.0.0.0:5678   1         [OK]
----------------------------------------------------------------
ছেড়ে দিতে Ctrl-C চাপুন। শুরু সফল।

একটি নতুন টার্মিনাল খুলুন, telnet ব্যবহার করে পরীক্ষা করুন (লিনাক্স সিস্টেমের telnet ব্যবহার করার সুপারিশ করা হয়)

ধরি এটি স্থানীয় পরীক্ষায়,
টার্মিনালে telnet 127.0.0.1 5678 চালান
এরপর hi ইনপুট দিন এবং এন্টার চাপুন
ডেটা hello world\n প্রাপ্ত হবে

telnet 127.0.0.1 5678
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^>'.
hi
hello world