Home >PHP Framework >Workerman >Why do we need to make a protocol in WorkerMan?

Why do we need to make a protocol in WorkerMan?

(*-*)浩
(*-*)浩Original
2020-01-02 17:49:541944browse

Why do we need to make a protocol in WorkerMan?

Since TCP is based on streams, the request data sent by the client flows into the server like water flow. After the server detects the arrival of data, it should check whether the data is complete. Because only part of the data of one request may reach the server, or even multiple requests may reach the server together.

How to determine whether all requests have arrived or to separate requests from multiple connected requests requires a set of communication protocols.

Why do we need to formulate an agreement in WorkerMan?

Traditional PHP development is based on the Web, basically using the HTTP protocol. The parsing and processing of the HTTP protocol is solely undertaken by the WebServer, so developers will not care about the protocol. . (Recommended learning: workerman tutorial )

qian, but when we need to be developed based on non -HTTP protocols, developers need to consider the agreement.

Protocols supported by WorkerMan

WorkerMan currently supports HTTP, websocket, text protocol (see appendix description), frame protocol (see appendix description), ws protocol ( See appendix description), you can use it directly when you need to communicate based on these protocols. To use it, specify the protocol when initializing the Worker, such as

use Workerman\Worker;
// websocket://0.0.0.0:2345 表明用websocket协议监听2345端口
$websocket_worker = new Worker('websocket://0.0.0.0:2345');
// text协议
$text_worker = new Worker('text://0.0.0.0:2346');
// frame协议
$frame_worker = new Worker('frame://0.0.0.0:2347');
// tcp Worker,直接基于socket传输,不使用任何应用层协议
$tcp_worker = new Worker('tcp://0.0.0.0:2348');
// udp Worker,不使用任何应用层协议
$udp_worker = new Worker('udp://0.0.0.0:2349');
// unix domain Worker,不使用任何应用层协议
$unix_worker = new Worker('unix:///tmp/wm.sock');

The above is the detailed content of Why do we need to make a protocol in WorkerMan?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn