Maison cadre php Workerman Que dois-je faire si Workman ne peut pas prendre de socket ?

Que dois-je faire si Workman ne peut pas prendre de socket ?

Dec 13, 2019 am 11:16 AM
workerman

Que dois-je faire si Workman ne peut pas prendre de socket ?

workerman无法socket怎么办?

Workerman是一款纯PHP开发的开源高性能的PHP socket 服务器框架。被广泛的用于手机app、手游服务端、网络游戏服务器、聊天室服务器、硬件通讯服务器、智能家居、车联网、物联网等领域的开发。但是在配置workerman情况下,不免有些意想不到的错误,下面小编整理网上资料并整合自身遇到的问题,给出以下几种常用的解决方案。

推荐:workerman教程

现象1

启动后报错类似如下:

php start.php start
PHP Warning:  stream_socket_server(): unable to connect to tcp://xx.xx.xx.xx:xxxx (Address already in use) in /home/workerman-chat/Workerman/Worker.php on line xxxx
Copier après la connexion

关键字: Address already in use

失败原因:

端口被占用,无法启动。

可以通过命令netstat -anp | grep 端口号来找出哪个程序占用了端口。

然后停止对应的程序释放端口解决。

如果不能停止对应端口的程序,可以通过更换workerman的端口解决。

如果是Workerman占用的端口,又无法通过stop命令停止(一般是丢失pid文件或者主进程被开发者kill了导致),可以通过运行以下两个命令杀死Workerman进程。

killall php
ps aux|grep WorkerMan|awk '{print $2}'|xargs kill -9
Copier après la connexion

现象2

启动后报错类似如下:

PHP Warning:  stream_socket_server(): unable to connect to tcp://xx.xx.xx.xx:xxx (Cannot assign requested address) in /home/GatewayWorker/Workerman/Worker.php on line xxxx
Copier après la connexion

关键字:Cannot assign requested address

失败原因:

启动脚本ip参数写错,不是本机ip,请填写本机ip机或者填写 0.0.0.0(表示监听本机所有ip)即可解决。

提示:Linux系统可以通过命令 ifconfig查看本机所有网卡ip。

如果您是腾讯云用户,注意您的公网ip实际是代理服务器ip,公网ip并不属于你的服务器,所以无法通过公网ip绑定,但是可以通过0.0.0.0来绑定。

现象3

启动后报错类似如下:

Waring stream_socket_server has been disabled for security reasons in ...
Copier après la connexion

失败原因:

stream_socket_server 函数被php.ini禁用

解决方法

1、运行php --ini 找到php.ini文件

2、打开php.ini找到disable_functions一项,将stream_socket_server禁用项删掉

现象4

启动后报错类似如下:

PHP Warning:  stream_socket_server(): unable to connect to tcp://0.0.0.0:xxx (Permission denied)
Copier après la connexion

失败原因

linux下监听端口如果小于1024,需要root权限。

解决办法

使用大于1024的端口或者使用root用户启动服务。

现象5

启动后报错类似如下:

WebSocket connection to 'ws://x.x.x.x:2346/' failed: Error in connection establishment:net::ERR_NAME_NOT_TIMED_OUT
Copier après la connexion

失败原因

服务器防火墙挡住了设置的端口,这里于2346为例。

解决办法

进入Linux vim编辑服务器防火墙文件,添加你需要开发的服务器端口保存后重启防火墙。

[root@iZwz9xxxxxxxxxxxxxxxxxx conf]# iptables -nvl  #查看允许访问的端口

[root@iZwz9xxxxxxxxxxxxxxxxxx conf]# vim /etc/sysconfig/iptables   #编辑

[root@iZwz9xxxxxxxxxxxxxxxxxx conf]# /etc/init.d/iptables restart  #重启

Que dois-je faire si Workman ne peut pas prendre de socket ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Implémenter le téléchargement et le téléchargement de fichiers dans les documents Workerman Implémenter le téléchargement et le téléchargement de fichiers dans les documents Workerman Nov 08, 2023 pm 06:02 PM

Pour implémenter le téléchargement et le téléchargement de fichiers dans des documents Workerman, des exemples de code spécifiques sont requis Introduction : Workerman est un framework de communication réseau asynchrone PHP hautes performances, simple, efficace et facile à utiliser. Dans le développement réel, le téléchargement et le téléchargement de fichiers sont des exigences fonctionnelles courantes. Cet article explique comment utiliser le framework Workerman pour implémenter le téléchargement et le téléchargement de fichiers, et donne des exemples de code spécifiques. 1. Téléchargement de fichiers : le téléchargement de fichiers fait référence à l'opération de transfert de fichiers de l'ordinateur local vers le serveur. Ce qui suit est utilisé

Lequel est le meilleur, Swoole ou Workerman ? Lequel est le meilleur, Swoole ou Workerman ? Apr 09, 2024 pm 07:00 PM

Swoole et Workerman sont tous deux des frameworks de serveur PHP hautes performances. Connu pour son traitement asynchrone, ses excellentes performances et son évolutivité, Swoole convient aux projets qui doivent gérer un grand nombre de requêtes simultanées et un débit élevé. Workerman offre la flexibilité des modes asynchrone et synchrone, avec une API intuitive mieux adaptée à la facilité d'utilisation et aux projets gérant des volumes de concurrence inférieurs.

Comment mettre en œuvre l'utilisation de base des documents Workerman Comment mettre en œuvre l'utilisation de base des documents Workerman Nov 08, 2023 am 11:46 AM

Introduction à la façon d'implémenter l'utilisation de base des documents Workerman : Workerman est un framework de développement PHP hautes performances qui peut aider les développeurs à créer facilement des applications réseau à haute concurrence. Cet article présentera l'utilisation de base de Workerman, y compris l'installation et la configuration, la création de services et de ports d'écoute, la gestion des demandes des clients, etc. Et donnez des exemples de code correspondants. 1. Installez et configurez Workerman. Entrez la commande suivante sur la ligne de commande pour installer Workerman : c

Développement Workerman : Comment mettre en œuvre des appels vidéo en temps réel basés sur le protocole UDP Développement Workerman : Comment mettre en œuvre des appels vidéo en temps réel basés sur le protocole UDP Nov 08, 2023 am 08:03 AM

Développement Workerman : appel vidéo en temps réel basé sur le protocole UDP Résumé : Cet article présentera comment utiliser le framework Workerman pour implémenter la fonction d'appel vidéo en temps réel basée sur le protocole UDP. Nous aurons une compréhension approfondie des caractéristiques du protocole UDP et montrerons comment créer une application d'appel vidéo en temps réel simple mais complète à travers des exemples de code. Introduction : Dans la communication réseau, les appels vidéo en temps réel sont une fonction très importante. Le protocole TCP traditionnel peut rencontrer des problèmes tels que des retards de transmission lors de la mise en œuvre d'appels vidéo en temps réel. Et UDP

Comment implémenter la fonction de proxy inverse dans le document Workerman Comment implémenter la fonction de proxy inverse dans le document Workerman Nov 08, 2023 pm 03:46 PM

La façon d'implémenter la fonction de proxy inverse dans le document Workerman nécessite des exemples de code spécifiques.Introduction : Workerman est un cadre de communication réseau multi-processus PHP hautes performances qui offre des fonctions riches et des performances puissantes et est largement utilisé dans la communication Web en temps réel et à long terme. connexions. Parmi eux, Workerman prend également en charge la fonction de proxy inverse, qui peut réaliser l'équilibrage de charge et la mise en cache des ressources statiques lorsque le serveur fournit des services externes. Cet article explique comment utiliser Workerman pour implémenter la fonction de proxy inverse.

Comment implémenter la fonction de minuterie dans le document Workerman Comment implémenter la fonction de minuterie dans le document Workerman Nov 08, 2023 pm 05:06 PM

Comment implémenter la fonction timer dans le document Workerman Workerman est un puissant framework de communication réseau asynchrone PHP qui fournit une multitude de fonctions, y compris la fonction timer. Utilisez des minuteries pour exécuter du code dans des intervalles de temps spécifiés, ce qui est très approprié pour les scénarios d'application tels que les tâches planifiées et les interrogations. Ensuite, je présenterai en détail comment implémenter la fonction de minuterie dans Workerman et fournirai des exemples de code spécifiques. Étape 1 : Installer Workerman Tout d’abord, nous devons installer Worker

Comment implémenter la communication TCP/UDP dans la documentation Workerman Comment implémenter la communication TCP/UDP dans la documentation Workerman Nov 08, 2023 am 09:17 AM

La façon d'implémenter la communication TCP/UDP dans le document Workerman nécessite des exemples de code spécifiques. Workerman est un framework PHP asynchrone piloté par les événements hautes performances qui est largement utilisé pour implémenter la communication TCP et UDP. Cet article explique comment utiliser Workerman pour implémenter la communication basée sur TCP et UDP et fournit des exemples de code correspondants. 1. Créez un serveur TCP pour la communication TCP. Il est très simple de créer un serveur TCP à l'aide de Workerman. Il vous suffit d'écrire le code suivant : <?ph.

Comment utiliser Workerman pour créer un système d'équilibrage de charge à haute disponibilité Comment utiliser Workerman pour créer un système d'équilibrage de charge à haute disponibilité Nov 07, 2023 pm 01:16 PM

Comment utiliser Workerman pour créer un système d'équilibrage de charge à haute disponibilité nécessite des exemples de code spécifiques. Dans le domaine de la technologie moderne, avec le développement rapide d'Internet, de plus en plus de sites Web et d'applications doivent gérer un grand nombre de requêtes simultanées. Afin d’atteindre une haute disponibilité et des performances élevées, le système d’équilibrage de charge est devenu l’un des composants essentiels. Cet article explique comment utiliser le framework open source PHP Workerman pour créer un système d'équilibrage de charge à haute disponibilité et fournit des exemples de code spécifiques. 1. Introduction à Workerman Worke

See all articles