Home Backend Development PHP Tutorial Connection settings for websocket in php on MAC

Connection settings for websocket in php on MAC

Mar 28, 2018 am 11:44 AM
php web websocket

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);
}
Copy after login

## 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!

Statement of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

CakePHP Project Configuration CakePHP Project Configuration Sep 10, 2024 pm 05:25 PM

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

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

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

CakePHP Date and Time CakePHP Date and Time Sep 10, 2024 pm 05:27 PM

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

CakePHP File upload CakePHP File upload Sep 10, 2024 pm 05:27 PM

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

CakePHP Routing CakePHP Routing Sep 10, 2024 pm 05:25 PM

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

Discuss CakePHP Discuss CakePHP Sep 10, 2024 pm 05:28 PM

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

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

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

CakePHP Creating Validators CakePHP Creating Validators Sep 10, 2024 pm 05:26 PM

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

See all articles