Connection settings for websocket in php on MAC
After installing the socket extension of php, you can use the various socket functions that come with php. First, learn the relevant parameters and usage methods of each function. For example, I already know that a server can be connected through websocket. The domain name is 192.168.15.192 and the port number is 9001. You can use the steps of making a phone call to understand the socket connection method.
1. ## First of all, when making a call, both parties must have telephones; socket requires both parties to have socket numbers, which are domain names;
$socket_create = socket_create($domain, $type , $protocal); ## Resource type
$error = socket_last_error($socket_create); ## If the connection is successful, it will be int(0). If the connection fails, an error code will be returned.
$strerror = socket_strerror($error) ## Read the text description of the error
## Put the official link to this function http://php.net/manual/en/function.socket-create.php
## The first parameter $domain is the protocol to be used by the specified socket.
There are three options. I use the first one, AF_INET:
AF_INET is based on IPv4 Internet Protocol
AF_INET6 IPv6 Internet-based protocol
AF_UNIX Local Communication Protocol
## The second parameter $type is the connection method
Yes Choose these five, I use the first SOCK_STREAM:
SOCK_STREAM provides sequential socket TCP protocol based on this type
SOCK_DGRAM supports data packet UDP protocol based on this type
SOCK_SEQPACKET Provides ordered transmission for fixed maximum length datagrams. Reads the entire packet on each call.
SOCK_RAW Provides access to raw network protocols and allows the user to manually build any protocol. Commonly used to perform ICMP requests (such as terminals) ping request)
SOCK_RDM does not guarantee reliable sorting
## The third parameter $protocal is to set the specified specific protocol domain; you can call getprotobyname($name) to retrieve the value, $name is a string It can be "ip", "icmp", "ggp", "tcp", "egp", "pup", "udp", "hmp", "xns-idp", "rdp", "rvd", I use The one is getprotobyname("tcp"), which returns 6, which corresponds to the constant SOL_TCP.
There should be only 2 types of the third parameter. I don’t know why there are so many $name:
SOL_TCP ## I used this constant to test successfully
SOL_UDP ## If you haven’t tried it, please Google it yourself...
For other constants, please refer to the official one Constant Definition Manual http://php.net/manual/en/sockets.constants.php
2. Dial a call to the other party; equivalent to issuing a connection request
$result = socket_connect($ socket_create, "192.168.15.192", "9001");
## Three parameters: the first is the resource of socket_create, the second is the domain name, and the third is the port number
3. Read information
while($out = socket_read($create_socket, $length)){ var_dump($out); }
## socket_read has at least 2 parameters
The first parameter is the create_socket resource
The second parameter writes the data length unit you want to receive It is a byte.
The third parameter is the type and can be omitted. The default is the PHP_BINARY_READ constant.
The above is the method of connecting websocket with PHP.
But in the actual use process, Browser pages often cannot read information normally. Maybe you can use swoole to improve the connection.
The above is the detailed content of Connection settings for websocket in php on MAC. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

In this chapter, we will understand the Environment Variables, General Configuration, Database Configuration and Email Configuration in CakePHP.

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

To work on file upload we are going to use the form helper. Here, is an example for file upload.

In this chapter, we are going to learn the following topics related to routing ?

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

Validator can be created by adding the following two lines in the controller.
